<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Tersby blog</title>
<link>https://tersby.app/en/blog/</link>
<description>Notes for people who sell products through landing pages: where leads get lost, how to set up the pixel and Conversions API, how to read UTM tags.</description>
<language>en</language>
<atom:link href="https://tersby.app/en/blog/rss.xml" rel="self" type="application/rss+xml"/>
<lastBuildDate>Wed, 14 Oct 2026 09:00:00 GMT</lastBuildDate>
<item>
<title>A quiz or a plain form: which brings more leads</title>
<link>https://tersby.app/en/blog/quiz-or-form/</link>
<guid isPermaLink="true">https://tersby.app/en/blog/quiz-or-form/</guid>
<pubDate>Wed, 14 Oct 2026 09:00:00 GMT</pubDate>
<description>When a few questions before the phone field help you sell, and when they only get in the way. And how to check it on your own traffic rather than someone else's case studies.</description>
<content:encoded><![CDATA[<p>A two-field form, name and phone, looks like the shortest road to a lead. But short isn&#39;t the same as easy. Leaving your phone number on an unfamiliar site feels risky: they&#39;ll call, they&#39;ll push, and the person hasn&#39;t even decided what they need. A quiz changes the order: a few simple questions first, contact details last.</p>
<h2 id="s1">Why a quiz works</h2>
<p>Answering «What&#39;s your size?» is easier than giving out a phone number. Each next step feels lighter, because the person has already put in a little effort and doesn&#39;t want to waste it. By the last step they&#39;re involved, they see an option will be picked for their answers, and they leave their phone more willingly.</p>
<p>The second plus is for your manager: the lead doesn&#39;t arrive empty. Instead of «Irene, +380…» it has the size, colour, delivery city and budget. The call gets shorter and the sale more likely.</p>
<h2 id="s2">When a quiz gets in the way</h2>
<ul>
<li><strong>A simple product with a clear price.</strong> If someone came for a specific item on sale, extra questions only slow them down. They need an «Order now» button.</li>
<li><strong>Hot traffic.</strong> People who&#39;ve already decided to buy (retargeting, searching for the product by name) don&#39;t need a quiz.</li>
<li><strong>Too many questions.</strong> Three to five steps work, ten wear people out. Every question should help the sale, not just collect data.</li>
<li><strong>Questions without options.</strong> If people have to type, the step gets heavy. Options with pictures are better: tap one and the form moves on by itself.</li>
</ul>
<h2 id="s3">What a good quiz looks like</h2>
<ol>
<li><strong>The first question is the easiest</strong> and about the person, not you: «Who are you choosing for?», «What&#39;s your kitchen like?».</li>
<li><strong>Options with pictures.</strong> Choosing with your eyes is easier than reading.</li>
<li><strong>A progress bar.</strong> People see there isn&#39;t much left.</li>
<li><strong>Contacts at the end</strong>, with a reason: «We&#39;ll send you a selection for your answers».</li>
<li><strong>The price as they go.</strong> If the questions are about the bundle, show the total while they choose: no surprises on the call.</li>
</ol>
<h2 id="s4">How to check it on your own traffic</h2>
<p>Other people&#39;s case studies say little about your audience. It&#39;s more reliable to test it yourself:</p>
<ol>
<li>Make two versions of the page: with a short form and with a quiz.</li>
<li>Run an A/B test: the traffic is split between them evenly.</li>
<li>Compare not just the number of leads, but how many were confirmed and paid for. A quiz may bring fewer leads of better quality, and that&#39;s a win too.</li>
</ol>
<p>Decide once each version has collected at least a few dozen leads, not after a day.</p>
<h2 id="s5">How to do it in Tersby</h2>
<p>In expert mode a form has a «Quiz: one question per screen» switch. Each question gets its own step, name and phone come together on the last one, and picking an option moves on by itself. The «Product variant with price» field adds cards with pictures and extra charges, and «Show the total price» counts the sum as people go. For a fair comparison there&#39;s an A/B test on the «History and tests» tab.</p>
<p>The detailed guide is in the help section: <a href="https://tersby.app/en/help/forms/">«Lead forms»</a>.</p>
]]></content:encoded>
</item>
<item>
<title>A discount wheel on a landing page: how not to give away your margin</title>
<link>https://tersby.app/en/blog/discount-wheel/</link>
<guid isPermaLink="true">https://tersby.app/en/blog/discount-wheel/</guid>
<pubDate>Tue, 13 Oct 2026 09:00:00 GMT</pubDate>
<description>A wheel of fortune grabs attention but easily turns into a discount for everyone. Which prizes to put on it, which chances to set and how to tell whether it pays off.</description>
<content:encoded><![CDATA[<p>Everyone knows the discount wheel: spin, win, get a promo code. It stops someone who was about to close the tab and gives them a reason to leave a lead right now. But set up carelessly, the wheel just hands a discount to everyone and eats your margin.</p>
<h2 id="s1">Why a wheel at all</h2>
<ul>
<li><strong>Attention.</strong> Motion and a win are more interesting than a static «−10%» banner.</li>
<li><strong>A reason to act now.</strong> A prize feels like yours, and nobody likes losing what&#39;s theirs.</li>
<li><strong>Segmentation.</strong> Who spun and what they won shows how much the offer hooked people.</li>
</ul>
<h2 id="s2">Prizes: from small ones to one big one</h2>
<p>A good wheel almost always gives something small and rarely something noticeable:</p>
<ul>
<li>a few sectors with a small discount or free delivery, with the biggest chance;</li>
<li>a gift with the order that costs you little and pleases the buyer;</li>
<li>one big prize with a small chance. It makes the wheel interesting but rarely comes up.</li>
</ul>
<p>Count every prize in money: how much you lose on an order with that prize and how often it comes up. The average «cost» of a spin should fit within what you&#39;re willing to pay for a lead anyway.</p>
<h2 id="s3">Once per person</h2>
<p>A wheel you can spin endlessly becomes a game of «spin until the big prize comes up». Limit it to one spin per visitor, and show the win again if they come back.</p>
<h2 id="s4">Promo codes you can check</h2>
<p>Each prize has its own promo code. The manager sees it in the lead and knows which discount was agreed. Don&#39;t put promises on the wheel you can&#39;t keep: «−50% off everything» with a tiny chance annoys people more than an honest «−5%».</p>
<h2 id="s5">Where to put it</h2>
<ul>
<li><strong>A popup after a few seconds or when the visitor is about to leave.</strong> The most common option: the person has looked at the page and is deciding.</li>
<li><strong>A section at the bottom of the page</strong> for those who scrolled to the end and still hesitate.</li>
<li>Not on the first screen: people need to understand what you sell first.</li>
</ul>
<h2 id="s6">How to tell whether it pays off</h2>
<p>Compare a period with the wheel and without it (or run an A/B test): the number of leads, the share confirmed and the average order value after discounts. If you got more leads but the profit per order fell more than their number grew, lower the chances of big discounts or swap them for gifts.</p>
<h2 id="s7">How to do it in Tersby</h2>
<p>The «Discount wheel» element in expert mode: enter prizes, promo codes and chance weights, and each prize&#39;s chance in percent shows on the right. Every visitor spins once, and the win arrives with the lead from any form on the site. There&#39;s also a ready «Discount wheel» popup. And the «wheel spun» event can go to your pixels to build audiences on it.</p>
<p>More: <a href="https://tersby.app/en/help/sales-elements/">«Quiz, discount wheel, timer and other sales techniques»</a>.</p>
]]></content:encoded>
</item>
<item>
<title>Cookie banners and GDPR: what you need when your ads target Europe</title>
<link>https://tersby.app/en/blog/gdpr-cookies/</link>
<guid isPermaLink="true">https://tersby.app/en/blog/gdpr-cookies/</guid>
<pubDate>Mon, 12 Oct 2026 09:00:00 GMT</pubDate>
<description>How a simple banner differs from a GDPR one, why pixels can't run before consent and how not to lose conversions in your ad account along the way.</description>
<content:encoded><![CDATA[<p>While your ads target Ukraine, a short strip saying «This site uses cookies» is enough. Once traffic comes from the European Union or the UK, the rules get stricter: trackers may run only after a person&#39;s explicit consent. Let&#39;s see what that means in practice.</p>
<h2 id="s1">What GDPR requires</h2>
<ul>
<li><strong>Ask first, track later.</strong> Ad and analytics pixels must not load until the person says yes.</li>
<li><strong>Saying no as easy as saying yes.</strong> The «Reject» button has to sit next to «Accept» and be no smaller. A grey «settings» link in small print doesn&#39;t count.</li>
<li><strong>A choice by category.</strong> A person may allow analytics but refuse advertising.</li>
<li><strong>A way to change their mind.</strong> Consent can be withdrawn at any time.</li>
</ul>
<p>A plain «We use cookies. Accept» strip doesn&#39;t meet these rules: it asks nothing, and trackers run from the first second.</p>
<h2 id="s2">Why it concerns your pixels</h2>
<p>The Meta pixel, TikTok pixel, Google Ads tag and Google Tag Manager set cookies and send data about the visitor. Under GDPR that&#39;s processing personal data, and it can&#39;t happen without consent. So a proper banner doesn&#39;t just show buttons: it really keeps trackers off until there&#39;s an answer.</p>
<p>Google has a separate mechanism, Consent Mode v2: the site tells Google what the person agreed to. Without it, Google Ads models conversions from Europe less well.</p>
<h2 id="s3">Won&#39;t we lose conversions</h2>
<p>Some people will press «Reject», and the browser pixel won&#39;t see them. That&#39;s normal and fair. What matters is that a lead the person did leave reaches the ad account. That&#39;s what server events are for: Meta&#39;s Conversions API and TikTok&#39;s Events API. The server sends the lead itself, and the ad algorithm keeps learning from real leads.</p>
<h2 id="s4">A checklist for ads in Europe</h2>
<ol>
<li>A banner with «Accept all», «Reject» and «Customize», buttons of the same size.</li>
<li>Trackers don&#39;t load before consent to their category.</li>
<li>Google gets Consent Mode v2.</li>
<li>A «Cookie settings» link on the privacy policy page to change one&#39;s mind.</li>
<li>Server events are connected so leads reach the ad accounts.</li>
<li>The site&#39;s privacy policy explains what data you collect.</li>
</ol>
<h2 id="s5">How to do it in Tersby</h2>
<p>In the site&#39;s settings choose «Cookie banner: GDPR (European Union)». Facebook and TikTok pixels, Google Ads and GTM wait for consent to their category, Google gets Consent Mode v2, and the banner disappears once a choice is made. The visitor can change their mind with the «Cookie settings» link on the policy page. Conversions API and TikTok Events API tokens are connected once, in Tersby&#39;s ad account.</p>
<p>More: <a href="https://tersby.app/en/help/cookie-banner/">«Cookie banner: simple or GDPR»</a>.</p>
<p>This isn&#39;t legal advice: if you&#39;re unsure how the rules apply to your business, check with a lawyer.</p>
]]></content:encoded>
</item>
<item>
<title>Which events to send to your pixel besides the lead</title>
<link>https://tersby.app/en/blog/pixel-events/</link>
<guid isPermaLink="true">https://tersby.app/en/blog/pixel-events/</guid>
<pubDate>Sun, 11 Oct 2026 09:00:00 GMT</pubDate>
<description>While leads are few, your ads have nothing to learn from. Which other actions on the page are worth tracking, how to name them and when to make them separate conversions.</description>
<content:encoded><![CDATA[<p>A pixel usually knows three things: a person opened the page, pressed «Order now» and left a lead. That&#39;s enough for a big campaign. But at the start, with a dozen leads a day, the ad algorithm has little data and takes a long time to find the right people. Events between the visit and the lead help.</p>
<h2 id="s1">Which events are useful</h2>
<ul>
<li><strong>Scrolling halfway and to the end.</strong> The person didn&#39;t just open the page but read it. Good audiences for retargeting.</li>
<li><strong>30 seconds on the page.</strong> A simple sign of interest. Count only the time the tab is actually in front of their eyes, not sitting in the background.</li>
<li><strong>A tap on a phone or messenger.</strong> Often it&#39;s the same lead, just without the form. If you don&#39;t count calls, the campaigns that bring them look worse than they are.</li>
<li><strong>Quiz steps.</strong> You see at which question people leave, and you can optimize ads for those who got at least halfway.</li>
<li><strong>A popup shown and a discount wheel spun.</strong> They tell you whether these techniques work and let you build audiences of engaged visitors.</li>
</ul>
<h2 id="s2">How to name events</h2>
<p>Meta has standard events: Lead, Contact, Schedule, Subscribe, CompleteRegistration, ViewContent and others. The ad account understands them right away and can optimize for them. Anything else can have your own names in Latin letters, say Scroll90 or QuizStep.</p>
<p>A good rule: if an event means the same as a standard one, use the standard one. A call or a messenger message is Contact, booking a service is Schedule, a signup is Subscribe.</p>
<h2 id="s3">An event&#39;s value</h2>
<p>Not all leads are worth the same. A request for a consultation and an order with payment differ in money. If you set a value on the event, the ad account can optimize not just for the number of conversions but for their value.</p>
<h2 id="s4">When to make an event a separate Google Ads conversion</h2>
<p>In Google Ads a conversion is a separate goal with its own label. It makes sense to make conversions of:</p>
<ul>
<li>calls and messages, if they bring sales;</li>
<li>bookings, if you sell a service;</li>
<li>a «micro-conversion» like 30 seconds on the page, only while main leads are few. Then switch optimization back to real leads.</li>
</ul>
<h2 id="s5">Don&#39;t count the same thing twice</h2>
<p>If an event goes from both the browser and the server, both copies need the same id. Otherwise one lead turns into two, and the campaign looks better than it really is.</p>
<h2 id="s6">How to do it in Tersby</h2>
<ul>
<li>A form in expert mode has an «Event for the pixels» block: Lead or your own event, a value and a Google Ads label. The event goes from the browser and the server with the same id.</li>
<li>A button has a «Pixel event» block.</li>
<li>The site&#39;s settings have «Site events»: scrolling 50% and 90%, 30 seconds on the page, a popup shown, the wheel, quiz steps, a tap on a phone or messenger. Each is switched on with a tick and has its own name, value and Google Ads label.</li>
</ul>
<p>More: <a href="https://tersby.app/en/help/site-events/">«Pixel events: forms, buttons and actions on the site»</a>.</p>
]]></content:encoded>
</item>
<item>
<title>Six places where leads get lost between the landing page and the CRM</title>
<link>https://tersby.app/en/blog/lost-leads/</link>
<guid isPermaLink="true">https://tersby.app/en/blog/lost-leads/</guid>
<pubDate>Wed, 30 Sep 2026 09:00:00 GMT</pubDate>
<description>The ads ran, the clicks came, and there are fewer orders than there should be. Where exactly leads disappear, and how to notice it in minutes rather than days.</description>
<content:encoded><![CDATA[<p>The ads ran, the clicks came, and there are fewer orders in the CRM than you expected. The first thought is a weak offer or a poor creative. Sometimes that&#39;s it. But very often the buyer did come and even wanted to order, and the lead got lost on the way.</p>
<p>A lead travels a long road: the ad, the site, the form, the CRM, a manager, the ad account. Every link can break, and each breaks quietly. Below are six such places and the signs that give them away.</p>
<h2 id="s1">1. The site didn&#39;t open</h2>
<p>The domain wasn&#39;t paid for, a DNS record broke, the certificate wasn&#39;t renewed. The ad platform doesn&#39;t know and keeps showing the ad. The budget is spent while people see a browser error.</p>
<p><strong>How to notice.</strong> There are clicks in the ad account and no visitors on the site. By hand you see it only the next day, so a site&#39;s availability has to be checked automatically, every few minutes, with a message to a messenger.</p>
<p><strong>What helps.</strong> A spare domain in case of a block, and an availability check that reports not only “down” but also “back up”: then you see how long the ads were pouring into nothing.</p>
<h2 id="s2">2. The buyer left the form</h2>
<p>Someone pressed “Order”, started typing a phone number and changed their mind. Or got distracted. Or the form refused the number, because it was pasted with the country code and the field expected it without.</p>
<p><strong>How to notice.</strong> You need a funnel of four steps: opened the site, pressed “Order”, started the form, sent it. A big gap between the second and the fourth step points at the form, not at the ads.</p>
<p><strong>What helps.</strong> A short form, a phone field that understands a number however it&#39;s typed, and saving what the person managed to enter. A number from an abandoned form is almost a lead: you can call that buyer back.</p>
<h2 id="s3">3. The lead didn&#39;t reach the CRM</h2>
<p>The most frustrating loss: the buyer did everything, the lead exists, and it isn&#39;t in the CRM. The causes are mundane. The API key was changed in the CRM. A product was removed from the catalog, and orders with it are no longer accepted. The CRM&#39;s server answered slower than usual and the request was cut off.</p>
<p><strong>How to notice.</strong> There are more leads on the site than orders in the CRM for the same day. Nobody reconciles that by hand, so you need a delivery history with the CRM&#39;s answer for every lead, and an alert at the very first error.</p>
<p><strong>What helps.</strong> A retry when the failure is temporary, and keeping the lead on the site&#39;s side. While a lead lives only in the CRM, any CRM failure destroys it.</p>
<h2 id="s4">4. Nobody took the lead</h2>
<p>The lead arrived, but a manager saw it three hours later. By then the buyer cooled off, found the product elsewhere or simply stopped answering calls from unknown numbers.</p>
<p><strong>How to notice.</strong> See how many of the day&#39;s leads are still “New” by evening. And compare the approval rate of leads taken at once with that of leads that waited.</p>
<p><strong>What helps.</strong> A lead in a messenger the same second, with a button that shows who took it. When a lead is nobody&#39;s, nobody takes it. When it has a name on it, there are no questions.</p>
<h2 id="s5">5. Spam clogged the queue</h2>
<p>Bots and pranksters send forms in bursts. A manager spends the morning calling numbers that don&#39;t exist while real buyers wait in the same queue. On top of that, fake leads go to the ad account as conversions, and the algorithm starts looking for more “buyers” like them.</p>
<p><strong>How to notice.</strong> Many leads from one address, numbers with impossible codes, forms filled in a second.</p>
<p><strong>What helps.</strong> A filter before the CRM: a number check, a hidden field for bots, a rate limit, a blocklist of numbers and addresses. What matters is that spam goes neither to the CRM, nor to the ad platform, nor into the stats.</p>
<h2 id="s6">6. The ad platform never learned about the lead</h2>
<p>The lead exists, the order exists, and the ad account knows about neither. The browser blocked the pixel, the server events token expired, the event went out with an error. The algorithm gets fewer signals than there really were and understands less well whom to look for.</p>
<p><strong>How to notice.</strong> The ad account steadily shows fewer leads than the site. A small difference is normal, a noticeable one means a problem.</p>
<p><strong>What helps.</strong> Sending events from both the browser and the server, with one identifier so the platform doesn&#39;t count them twice. And checking the platform&#39;s answer: if it rejects events, you need to know at once. More in the post <a href="https://tersby.app/en/blog/conversions-api/">about the Conversions API</a>.</p>
<h2 id="s7">Three numbers for every day</h2>
<p>To catch any of the six losses, it&#39;s enough to compare three numbers for the same day:</p>
<ol>
<li>clicks in the ad account;</li>
<li>visitors and leads on the site;</li>
<li>orders in the CRM.</li>
</ol>
<p>If the gap between neighboring numbers is bigger than usual, you know which link to look at. Between clicks and visitors: the site or the domain. Between visitors and leads: the offer or the form. Between leads and orders: the integration, spam or the speed of handling.</p>
<p>In Tersby these checks run by themselves: <a href="https://tersby.app/en/features/alerts/">alerts</a> arrive in Telegram when a site is down, the CRM doesn&#39;t accept leads, the pixel rejects events or ad clicks suddenly stop.</p>
]]></content:encoded>
</item>
<item>
<title>The Conversions API in plain words: why send events from the server</title>
<link>https://tersby.app/en/blog/conversions-api/</link>
<guid isPermaLink="true">https://tersby.app/en/blog/conversions-api/</guid>
<pubDate>Sat, 26 Sep 2026 09:00:00 GMT</pubDate>
<description>Why the pixel doesn't see every lead, what server-side sending changes, how not to count one event twice and when to send a Purchase if the product is paid for on delivery.</description>
<content:encoded><![CDATA[<p>A pixel is a piece of code on the page. When a visitor does something, for example sends a lead, the code in their browser tells the ad platform. From these messages the platform learns which ads work and looks for similar people.</p>
<p>The scheme is simple, but it has a weak spot: everything depends on the visitor&#39;s browser.</p>
<h2 id="s1">Why the pixel doesn&#39;t see everything</h2>
<p>A message from the pixel may never arrive, for several reasons:</p>
<ul>
<li>the visitor has an ad blocker, and the pixel&#39;s script simply didn&#39;t load;</li>
<li>the browser limits tracking on its own and deletes cookies quickly;</li>
<li>the page is open in an app&#39;s built-in browser, which behaves in its own way;</li>
<li>the visitor closed the tab before the request could leave.</li>
</ul>
<p>For the platform, such a lead doesn&#39;t exist. The report shows fewer conversions, the cost per lead looks higher, and above all the algorithm learns from incomplete data.</p>
<h2 id="s2">What the Conversions API does</h2>
<p>Meta&#39;s Conversions API and TikTok&#39;s Events API let you report an event from the server. The lead reached your server, and it, not the buyer&#39;s browser, sends the lead to the platform. Blockers and browser settings don&#39;t affect that.</p>
<p>Server-side sending doesn&#39;t replace the pixel, it works alongside it. The pixel in the browser sees what the server can&#39;t: a page view, scrolling, a press of a button. The server reliably reports what matters most: the lead and the purchase.</p>
<h2 id="s3">How not to count a lead twice</h2>
<p>If a lead went from both the browser and the server, the platform receives two messages about one event. For it to understand they are the same, both must have the same event name and the same identifier: the <code>event_id</code> field.</p>
<p>The simplest way is to use the lead&#39;s id as the identifier. It&#39;s the same in the browser and on the server, and it never repeats.</p>
<p>If the identifiers differ or are missing, conversions in the report double. It&#39;s one of the most common mistakes in a do-it-yourself setup.</p>
<h2 id="s4">What to send with the event</h2>
<p>To link an event to the person who clicked the ad, the platform needs hints:</p>
<ul>
<li>the click id: <code>fbclid</code> for Meta, <code>ttclid</code> for TikTok;</li>
<li>the pixel&#39;s cookies, if there are any: <code>_fbp</code> and <code>_fbc</code>, and <code>_ttp</code> for TikTok;</li>
<li>the visitor&#39;s IP address and browser;</li>
<li>the phone as a hash, not in plain text.</li>
</ul>
<p>The more of this data there is, the more often an event finds its click. In Meta&#39;s dashboard this is shown as event match quality.</p>
<h2 id="s5">A Purchase when payment is on delivery</h2>
<p>In an ordinary online store the purchase happens on the site, and the Purchase event is straightforward. When a product is paid for on delivery, the site only has a lead. The real purchase happens a few days later, when the person picks up the parcel, and it&#39;s the CRM that learns about it, not the site.</p>
<p>That gives two approaches.</p>
<p><strong>Teach the algorithm on leads.</strong> There are many events and they arrive at once. But the algorithm finds people who readily leave a lead, not people who buy out.</p>
<p><strong>Send a Purchase by the status from the CRM.</strong> When the order is confirmed or bought out, the server sends a Purchase with the amount. The algorithm gets a signal about real buyers.</p>
<p>The second approach has a limit: an ad network links a purchase to a click only within its attribution window. If the parcel travels longer, the event arrives but isn&#39;t tied to the ad. That&#39;s why many send the Purchase already when the order is confirmed: it happens in the first hours after the lead and cuts off those who didn&#39;t pick up the phone or declined.</p>
<p>Whichever you choose, spam shouldn&#39;t go to the ad platform at all: neither as a lead nor as a purchase.</p>
<h2 id="s6">How to check that it all works</h2>
<ol>
<li>Send a test lead from your site.</li>
<li>In Meta Events Manager, open the pixel and find the Lead event. It should have two sources: browser and server.</li>
<li>Check that the event is marked as deduplicated rather than counted twice.</li>
<li>Look at the match quality: if it&#39;s low, the server lacks data about the visitor.</li>
</ol>
<p>And keep an eye on the token. It can expire or lose access, and then server events stop being accepted while the site goes on working as if nothing happened. It&#39;s better to learn that from an alert than from a report at the end of the week.</p>
<h2 id="s7">In short</h2>
<ul>
<li>The pixel loses some leads to blockers and browser limits.</li>
<li>Server-side sending delivers leads and purchases reliably.</li>
<li>The browser event and the server event need the same identifier.</li>
<li>With payment on delivery, a Purchase is best sent by the status from the CRM.</li>
</ul>
<p>In Tersby all of this is set up in one place: <a href="https://tersby.app/en/features/tracking/">the pixel and Conversions API</a> are connected by entering an identifier and a token, and the event id, the visitor&#39;s data and the Purchase by order status are sent for you.</p>
]]></content:encoded>
</item>
<item>
<title>UTM tags for a product landing page: what to set and how to read the report</title>
<link>https://tersby.app/en/blog/utm-tags/</link>
<guid isPermaLink="true">https://tersby.app/en/blog/utm-tags/</guid>
<pubDate>Tue, 22 Sep 2026 09:00:00 GMT</pubDate>
<description>A working tag scheme for Meta, TikTok and Google, three places where tags get lost, and the mistakes that make the source report lie.</description>
<content:encoded><![CDATA[<p>UTM tags are parameters at the end of a link. The site reads them and remembers where a visitor came from. Without tags every lead looks the same, and you can&#39;t tell which ad brought it.</p>
<p>There are five tags, each with its own role.</p>
<div class="table-wrap"><table>
<thead>
<tr>
<th>Tag</th>
<th>What to put in it</th>
</tr>
</thead>
<tbody><tr>
<td><code>utm_source</code></td>
<td>The platform: facebook, tiktok, google</td>
</tr>
<tr>
<td><code>utm_medium</code></td>
<td>The kind of traffic: cpc for paid ads</td>
</tr>
<tr>
<td><code>utm_campaign</code></td>
<td>The campaign</td>
</tr>
<tr>
<td><code>utm_content</code></td>
<td>The ad or creative</td>
</tr>
<tr>
<td><code>utm_term</code></td>
<td>The ad set or keyword</td>
</tr>
</tbody></table></div>
<h2 id="s1">Let the platform fill in the names</h2>
<p>Typing the campaign name into every link by hand is slow, and sooner or later a typo creeps in. Every major platform has dynamic parameters: you write a template, and at the moment the ad is shown the platform replaces it with the real name.</p>
<p>For Facebook and Instagram:</p>
<pre><code>utm_source=facebook&amp;utm_medium=cpc&amp;utm_campaign={{campaign.name}}&amp;utm_content={{ad.name}}&amp;utm_term={{adset.name}}
</code></pre>
<p>For TikTok:</p>
<pre><code>utm_source=tiktok&amp;utm_medium=cpc&amp;utm_campaign=__CAMPAIGN_NAME__&amp;utm_content=__CID_NAME__&amp;utm_term=__AID_NAME__
</code></pre>
<p>For Google Ads:</p>
<pre><code>utm_source=google&amp;utm_medium=cpc&amp;utm_campaign={campaignid}&amp;utm_content={creative}&amp;utm_term={keyword}
</code></pre>
<p>Paste the template once, and every new ad arrives with its own name. Rename a campaign in the ad account, and the new name appears in the report, with no links to edit.</p>
<p>The click ids <code>fbclid</code>, <code>ttclid</code> and <code>gclid</code> are added by the platforms themselves. You don&#39;t write them by hand.</p>
<h2 id="s2">Name campaigns so they can be read</h2>
<p>Since the campaign name ends up in the report, it&#39;s worth agreeing on rules:</p>
<ul>
<li>only Latin letters, digits and underscores: spaces and other alphabets turn into unreadable codes in a link;</li>
<li>one order of parts, for example product, audience, date: <code>bosch_x4_lookalike_0922</code>;</li>
<li>always lower case.</li>
</ul>
<p>Then the report can be sorted and filtered rather than deciphered.</p>
<h2 id="s3">Three places where tags get lost</h2>
<p><strong>The buyer browsed the site.</strong> Tags are in the address only on the page the ad led to. The person opened the privacy policy, came back, reloaded the page, and the tags are gone from the address. If the site reads them only when the form is sent, the lead arrives with no source. The site has to remember the tags on the first visit.</p>
<p><strong>A link in between.</strong> Link shorteners and redirects sometimes drop parameters. Check the whole chain: open the link from the ad and see what&#39;s left in the address bar.</p>
<p><strong>A link with no tags.</strong> A link in a profile bio, in a story, in a blogger&#39;s post. These are sources too, and they need tags of their own, at least <code>utm_source</code> and <code>utm_campaign</code>.</p>
<h2 id="s4">Mistakes that make the report lie</h2>
<p><strong>Different case.</strong> <code>Facebook</code> and <code>facebook</code> are two different sources to a report. One campaign&#39;s leads end up in two rows.</p>
<p><strong>Tags on internal links.</strong> If you put tags on a button inside the site itself, they overwrite the real source. A lead from a buyer who came from an ad will look as if it came from your own site.</p>
<p><strong>Templates that weren&#39;t filled in.</strong> In an ad&#39;s preview the platform doesn&#39;t replace the parameters, and the site receives a literal <code>{{campaign.name}}</code>. Such values have to be dropped, or a “campaign” by that name appears in the report.</p>
<p><strong>Judging by leads without orders.</strong> The campaign with the cheapest lead isn&#39;t always the most profitable. If its leads are confirmed less often and bought out more rarely, an order from it costs more.</p>
<h2 id="s5">How to read the report</h2>
<p>Look at a campaign in three steps.</p>
<ol>
<li><strong>Leads and cost per lead.</strong> The first filter: it cuts off what doesn&#39;t work at all.</li>
<li><strong>Approval rate.</strong> What share of leads became confirmed orders. A low approval rate with a cheap lead means the ads attract the curious, not buyers.</li>
<li><strong>Buyout rate.</strong> How many shipped parcels were picked up. It&#39;s known a few days later, but it&#39;s what shows the real money.</li>
</ol>
<p>For that, order statuses from the CRM have to come back to where the tags are kept. Then every campaign shows the whole chain: from the click to the parcel that was picked up.</p>
<h2 id="s6">In short</h2>
<ul>
<li>Use the platforms&#39; dynamic parameters instead of names typed by hand.</li>
<li>Make sure the site remembers tags on the first visit.</li>
<li>Check the whole chain of a link.</li>
<li>Compare campaigns by confirmed and bought-out orders, not by leads.</li>
</ul>
<p>In Tersby a tagged link is built in the <a href="https://tersby.app/en/features/tracking/#utm">link builder</a> for each platform, tags and click ids are remembered for a day, and <a href="https://tersby.app/en/features/analytics/">analytics</a> shows leads, approval and buyout for every campaign.</p>
]]></content:encoded>
</item>
</channel>
</rss>
