Cookie settings

Choose what to allow. Without your consent we load no analytics and no ad tags, and the site works in full. Privacy policy

Necessary

Always on

The site's language, your cookie choice, the support chat, bot protection. The site can't work without them, so they need no consent.

Services (2)
  • TersbyTersby

    The site's language, your cookie choice and the support chat

    Cookies
    lang, tersby_consent
    In the browser
    tersby-support, tersby-support-email
    Kept
    lang: 1 year, tersby_consent: 6 months, chat: until you clear the browser
  • CloudflareCloudflare, Inc.

    Protects the site from bots and attacks (not always set)

    Cookies
    __cf_bm
    Kept
    30 minutes
    Policy Cloudflare

Analytics

How many people come, from where, and what they read. Helps us make the site and help center clearer.

Services (1)
  • Google AnalyticsGoogle Ireland Limited

    Visit statistics

    Cookies
    _ga, _ga_*
    Kept
    up to 2 years
    Policy Google

Tersby blog· 4 min read

UTM tags for a product landing page: what to set and how to read the report

A working tag scheme for Meta, TikTok and Google, three places where tags get lost, and the mistakes that make the source report lie.

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't tell which ad brought it.

There are five tags, each with its own role.

Tag What to put in it
utm_source The platform: facebook, tiktok, google
utm_medium The kind of traffic: cpc for paid ads
utm_campaign The campaign
utm_content The ad or creative
utm_term The ad set or keyword

Let the platform fill in the names

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.

For Facebook and Instagram:

utm_source=facebook&utm_medium=cpc&utm_campaign={{campaign.name}}&utm_content={{ad.name}}&utm_term={{adset.name}}

For TikTok:

utm_source=tiktok&utm_medium=cpc&utm_campaign=__CAMPAIGN_NAME__&utm_content=__CID_NAME__&utm_term=__AID_NAME__

For Google Ads:

utm_source=google&utm_medium=cpc&utm_campaign={campaignid}&utm_content={creative}&utm_term={keyword}

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.

The click ids fbclid, ttclid and gclid are added by the platforms themselves. You don't write them by hand.

Name campaigns so they can be read

Since the campaign name ends up in the report, it's worth agreeing on rules:

  • only Latin letters, digits and underscores: spaces and other alphabets turn into unreadable codes in a link;
  • one order of parts, for example product, audience, date: bosch_x4_lookalike_0922;
  • always lower case.

Then the report can be sorted and filtered rather than deciphered.

Three places where tags get lost

The buyer browsed the site. 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.

A link in between. Link shorteners and redirects sometimes drop parameters. Check the whole chain: open the link from the ad and see what's left in the address bar.

A link with no tags. A link in a profile bio, in a story, in a blogger's post. These are sources too, and they need tags of their own, at least utm_source and utm_campaign.

Mistakes that make the report lie

Different case. Facebook and facebook are two different sources to a report. One campaign's leads end up in two rows.

Tags on internal links. 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.

Templates that weren't filled in. In an ad's preview the platform doesn't replace the parameters, and the site receives a literal {{campaign.name}}. Such values have to be dropped, or a “campaign” by that name appears in the report.

Judging by leads without orders. The campaign with the cheapest lead isn't always the most profitable. If its leads are confirmed less often and bought out more rarely, an order from it costs more.

How to read the report

Look at a campaign in three steps.

  1. Leads and cost per lead. The first filter: it cuts off what doesn't work at all.
  2. Approval rate. What share of leads became confirmed orders. A low approval rate with a cheap lead means the ads attract the curious, not buyers.
  3. Buyout rate. How many shipped parcels were picked up. It's known a few days later, but it's what shows the real money.

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.

In short

  • Use the platforms' dynamic parameters instead of names typed by hand.
  • Make sure the site remembers tags on the first visit.
  • Check the whole chain of a link.
  • Compare campaigns by confirmed and bought-out orders, not by leads.

In Tersby a tagged link is built in the link builder for each platform, tags and click ids are remembered for a day, and analytics shows leads, approval and buyout for every campaign.

Was it useful? Share it with a colleague.

Your first site can go live today

Signing up is free. You can look around and browse templates before choosing a plan.