NewImprovedFixedAPIMobile
UTM tags in your e-mails, workflow conditions on ad source, and renewing expired access
Links in campaigns and newsletters carry UTM tags and purchases show which e-mail they came from, workflows can branch on UTM tags and ad clicks, and buyers can renew expired access from the client area and the app. The checkout catches e-mail typos, puts the country first and takes your own wording for the terms checkbox. Also new are audio in text lessons, a course default for autoplay, a date-added filter for customers and your colours in the mobile app.
📧 E-mails and workflows
- New UTM tags on links in your e-mails. Campaigns and newsletter issues now go out with UTM tags on links to your Zanfia pages and connected domains:
utm_source=newsletter,utm_medium=email, the campaign name, the send date and the campaign id inutm_content. Visits from an e-mail no longer count as direct, and links that carry their ownutm_tags stay as written. It is on by default: change the scope and the values, or turn it off, in Your site → Site & brand → Domains → UTM tags in emails, and per campaign with the switch next to Measurement. Learn more - New Purchases per e-mail. A purchase now counts for the e-mail whose link the buyer clicked last (the UTM tag the order carries, or a tracked click in the 5 days before). The campaign report lists those orders under Purchases from this email · last click, the newsletter send report shows a purchases row, and the order, the customer's timeline and the orders CSV (new
emailCampaigncolumn) name the e-mail. Learn more - New Workflow conditions on UTM tags and ad clicks. The Condition step can check Source (utm_source), medium, campaign and content (equals, does not equal, is one of, is none of; letter case does not matter) and whether the person came from a Google ad (
gclid) or a Meta ad (fbclid). The values come from the signup on your page or the purchase that started the run, or from the contact's first visit when that carried none. For example: tag everyone who signed up for your webinar from a Facebook ad. Learn more - Improved Open rate and CTR on the campaigns list. Every sent campaign on Marketing → Email campaigns shows its open rate and CTR next to the delivered count, the same numbers as on its report. In Email templates, the automations view has an All automations filter that leaves only the templates one workflow uses. Learn more
- Improved Segments by e-mail address. Customers → Segments has an Email address condition, is one of or is none of, for up to 50 addresses. Use it to send a real campaign only to yourself or a few people, or to leave some addresses out without tagging them. Learn more
- Fixed Text colours survive the editor. Text with both a font size and a colour, such as a grey 12 px footer, no longer loses its colour when you open the e-mail or lesson again. In the editors of what customers read on your site (lessons, knowledge base articles, checkout and legal texts), the colour picker hides white and black, because such text takes the theme colour on the live page, and pasted text no longer brings a black colour with it. E-mail editors keep the full palette.
- Fixed MailerLite groups get the buyer's name. A workflow step that adds a buyer to a MailerLite group now creates a new subscriber with their first and last name, not the e-mail alone. Existing subscribers are not subscribed again.
🛒 Checkout and sales
- Improved "Did you mean…?" for e-mail typos. When a buyer types
jan@gamil.con, the checkout suggestsjan@gmail.comright under the field: one click fixes it, or they keep what they typed. An address ending that does not exist gets a soft note. The checkout never refuses an address because of its domain, in paid and free checkouts alike. - Improved Country first, with the right tax number field. The country now sits with the buyer's details, above the invoice checkbox. A buyer from outside Poland gets the address and tax number fields at once: NIP for Poland, EU VAT ID with the country prefix (for example DE123456789) in the EU, and a tax ID field elsewhere. A street or city made of a single space now counts as empty. Learn more
- New Your own wording on the terms checkbox. In the checkout builder, Form & UX → Consents → Terms checkbox takes your own label for all your checkouts, with links to your terms, your privacy policy or any other page. If your account has no terms or privacy policy, the checkbox no longer links to Zanfia's documents, and the builder warns you. Learn more
- New Optional last name. Paid offers can switch on Last name optional. The last name is still required when the buyer asks for an invoice without a company name.
- Improved One-step layout for the checkout embed. Integrations → Checkout embed has Checkout layout: Two steps or One step, the same choice pages already have.
- Improved Abandoned carts show declines and drop buyers. On the abandoned carts list (Dashboard → Operations), a cart whose card was declined says why, for example Payment declined · insufficient funds. A cart leaves the list and the New purchases · payment failed card once the person buys the product, also with another e-mail from the same browser, and recovery e-mails stop for them. Learn more
- New Buyers can renew expired access. When a product's access period runs out, the product stays in the buyer's library as an Access expired tile with Renew access, and their purchases page gets a Renew access button. Both open your renewal offer when the price has one, otherwise the product's regular offer. The mobile app shows the same tiles and opens the offer in the browser. Refunded or revoked access shows no tile and reads No access (refund) or No access. Learn more
- Improved Refunds made in the PayU panel count in Zanfia. A full refund you make directly in the PayU panel marks the order refunded and starts your Order refunded workflows, in the account the order belongs to. The buyer's access stays as it is, and a partial refund changes nothing. Learn more
- New Subscriptions by month. Dashboard → MRR has a Subscriptions by month table: new and ended subscriptions (monthly and annual, ended because cancelled, payment failed or other), subscriptions active at month end and the revenue of your subscription products, for any range of up to 60 months. Learn more
- Fixed Prepaid renewals count as active. A renewal paid in advance that the payment gateway reports as a trial now shows as Active (renewing) and counts in MRR.
- Improved Polish one-letter words stay with the next word. On Polish storefront and checkout pages, "a", "i", "o", "u", "w" and "z" no longer end a line, and
typed in shop texts works as a non-breaking space.
🎓 Products and courses
- New Audio in text lessons. The lesson editor has an Audio button and an Audio item in the
/menu: pick or upload a file in Media, or insert it by URL. Students get a player in the lesson, on the web and in the mobile app. Learn more - New Course default for autoplay. Course Settings → Lesson playback → Autoplay by default. Turn it off and new students start with autoplay off, on the web and in the app; students who already started keep their own choice. Learn more
- Improved Client counts that add up. Product cards and rows show active and all-time clients (for example 2 / 30), and the counts now follow every access change: archive, restore, revoke, refund and expiry. Free products get the Archived tab and the archived and all-clients CSV exports. Learn more
- Improved Rename a file in a digital download. On the product's files, click the pencil next to a file to rename it. The new name is the file name buyers download, and the file keeps its place. Learn more
- Improved New products fill their offer page. A product created in the wizard or through the API with a description now shows that description on its default offer page too.
- Improved Product screens, smaller fixes. The price step says the AI draft uses AI credits and shows your balance, product cards without a description say No description, and the new product screen and the product editor fit a phone.
- Fixed The course assistant when you are out of AI credits. When your account has no AI credits left, students see that the course assistant is temporarily unavailable, instead of a generic error. Learn more
👥 Customers
- New Filter customers by date added. Customers → All customers → Filter → Date added takes a range of days, either end optional. The list, the count, bulk actions on the filtered set and the CSV export all follow it. Learn more
- Fixed Imports of more than 1000 clients. Importing clients into a product or a community no longer fails above 1000 rows, and a row that fails is marked failed instead of staying pending. Learn more
🌐 Your site and pages
- New SEO description and your own robots.txt lines. Your site → Site & brand → Name & logo has an SEO description (meta description) for search results and link previews of your store, client area and community; left empty, the short description is used. Domains → Search engine and AI crawlers (robots.txt) adds your own lines to the generated robots.txt, with an example that blocks AI crawlers. The assistant can set both.
- New More conversion data from your pages. Signups on your Zanfia pages send
generate_leadwith their UTM tags and, with marketing consent, the hashed e-mail and first name to Google, Meta (advanced matching) and TikTok. A phone number left in an SMS step sends an SMS opt-in event from the browser and from Zanfia's servers, counted once. Google's ad consent now follows the visitor's marketing consent. Learn more - New Scroll reveal on pages. Sections marked
data-zanfia-revealfade or slide in as visitors scroll, in every browser, and the AI page builder and the assistant know how to use it. The draft bar no longer covers a page's sticky header. - Improved Hide the mobile app promotion. Your site → Client area → Layout → Hide the mobile app promotion removes the app install bar and the iPhone app banner for all members. When a member closes the bar, it stays closed, also in their other browsers. Learn more
- Fixed Funnel edits keep the pages list in order. Changing a funnel's steps (on the canvas, with the assistant, the API or MCP) now moves the pages into or out of the funnel's group on the pages list. Learn more
- Fixed Public community on a phone. The logged-out view of a public community fits a phone screen: no zoom-out, no sideways scrolling, and shorter buttons to log in and join. Learn more
📱 Mobile app
- Mobile Your colours in the app. The app uses your platform's accent colour for buttons, links, filters and the active tab instead of Zanfia violet, in light and dark mode, and adjusts it where the contrast would be too low. Learn more
- Mobile The screen stays on during lesson videos. Also when a lesson starts by itself (autoplay or the next lesson). It sleeps as usual once the video is paused or ends.
- Mobile Android with large text. Product type badges fit their label, and the knowledge base search icon sits inside the field.
🔌 API, MCP and assistant
- API The new reports in the API and MCP.
GET /clientsand the clients export takecreatedFromandcreatedTo, campaign reads returnengagementwith the open rate and CTR,GET /stats/sessionsreturnspaymentFailureand takesrecoverableOnly=true, and the newGET /stats/subscriptions/by-monthreturns the month-by-month table. MCPlist-clients,get-email-campaign,get-sessions-reportand the newget-subscriptions-by-monthmatch, and the assistant answers month-by-month subscription questions from the same data. Learn more - API Files, products and site settings. Rename a digital download's file with
PATCH /products/{productId}/downloads/files/{fileUid}, delete a product withDELETE /products/{productId}(the same delete as in the dashboard), and setseoDescriptionandrobotsTxtRuleswithPATCH /site/settings/generalor MCPupdate-site-general. Learn more - Improved Clearer assistant cards. A failed payment retry says why in your language, with a link to the invoice. Switching off a price that other prices renew into names those prices and says what happens to their renewals. A message the AI provider will not answer asks you to rephrase it instead of showing a generic error. Learn more
🔧 Fixes
- Fixed Discord servers on the older bot. New members of a Discord server that still runs the older bot are now connected through that bot. If a member still cannot be added, you get one e-mail per server explaining how to move it to the Zanfia bot. Learn more
- Fixed A tab left open during an update reloads cleanly. Opening another screen in a dashboard tab that was open before an update reloads the page once instead of showing an error.

