Free UTM builder for Shopify stores

Pick a channel and copy UTM parameters made for a Shopify store. Each preset uses only the five values Shopify records on an order, so you can tell which campaign a sale came from.

UTM parameters for Meta ads

Set these on each ad, in Ads Manager › Ad › Tracking › URL parameters.

Ids

{{ad.id}} gives every ad its own UTM set. Orders aren't split.

utm_source={{site_source_name}}&utm_medium=paid&utm_campaign={{campaign.id}}&utm_content={{ad.id}}

Readable names

Campaign and ad set names in place of ids, so the values are names you chose. {{ad.id}} still gives every ad its own UTM set. Renaming a campaign or an ad set changes the values it sends.

utm_source={{site_source_name}}&utm_medium=paid&utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.id}}

UTM parameters for Google Ads

Set it once for the whole account, in Google Ads under Admin › Account settings › Tracking.

Ids

{campaignid} gives every campaign its own UTM set. Orders aren't split.

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

Campaign only

The shortest set that still tells campaigns apart. It doesn't say which ad group or ad was clicked.

utm_source=google&utm_medium=cpc&utm_campaign={campaignid}

Good to know

  • A final URL suffix set on a campaign, ad group, or ad replaces this one.

UTM parameters for TikTok Ads

Set these on each ad, in TikTok Ads Manager under Ad details › Destination URL › Edit › URL › Build URL parameters.

Ids

Every campaign, ad group, and creative sends its own values.

utm_source=tiktok&utm_medium=paid&utm_campaign=__CAMPAIGN_ID__&utm_term=__AID__&utm_content=__CID__

Readable names

Campaign and ad group names in place of ids, so the values are names you chose. __CID__ keeps the creative's id, so each creative still sends its own values. Renaming a campaign or an ad group changes the values it sends.

utm_source=tiktok&utm_medium=paid&utm_campaign=__CAMPAIGN_NAME__&utm_term=__AID_NAME__&utm_content=__CID__

Good to know

  • Upgraded Smart+ campaigns use different macros. Check TikTok's list of dynamic values before you use these presets on one.
  • __ADID_V2__ and __ADID_V2_NAME__, the ad's id and name, work only in upgraded Smart+ campaigns. These presets use the creative id instead.
  • Auto-attach, in the same panel, has TikTok fill in a set of its own: source TikTok, medium Paid, and the campaign's id and name.

AdZoom matches orders to ads for Meta and Google Ads, not for TikTok Ads. These parameters still reach the order in Shopify.

UTM parameters for Pinterest Ads

Set these on the campaign: in Ads reporting, select the campaign, then URL tracking › Edit next to Parameter settings.

Ids

Every campaign, ad group, and ad sends its own values.

utm_source=pinterest&utm_medium=paid&utm_campaign={campaignid}&utm_term={adgroupid}&utm_content={adid}

Readable names

Campaign and ad group names in place of ids, so the values are names you chose. {adid} keeps the ad's id, so each ad still sends its own values. Renaming a campaign or an ad group changes the values it sends.

utm_source=pinterest&utm_medium=paid&utm_campaign={campaign_name}&utm_term={ad_group_name}&utm_content={adid}

Good to know

  • Pinterest applies utm_source, utm_medium, utm_campaign, and utm_content of its own by default. It adds only what is missing and never overwrites UTM parameters a URL already has.
  • Dynamic values such as {campaignid} are not filled in when you preview an ad, only once the ad is live.

AdZoom matches orders to ads for Meta and Google Ads, not for Pinterest Ads. These parameters still reach the order in Shopify.

UTM parameters for Microsoft Advertising

Set it once for the whole account, in Microsoft Advertising under Campaigns › Settings › Account level options › Final URL suffix.

Ids

Every campaign, ad group, and ad sends its own values.

utm_source=bing&utm_medium=cpc&utm_campaign={CampaignId}&utm_term={AdGroupId}&utm_content={AdId}

Readable names

Campaign and ad group names in place of ids, so the values are names you chose. {AdId} keeps the ad's id, so each ad still sends its own values. Renaming a campaign or an ad group changes the values it sends.

utm_source=bing&utm_medium=cpc&utm_campaign={Campaign}&utm_term={AdGroup}&utm_content={AdId}

Good to know

  • Microsoft Advertising can add UTM tags by itself, with auto-tagging. Set to Replace, it overwrites yours. Use Preserve, which keeps the UTM values you set, or Inactive.
  • A final URL suffix set on a campaign, ad group, keyword, or ad replaces the account's. The two are not combined.

AdZoom matches orders to ads for Meta and Google Ads, not for Microsoft Advertising. These parameters still reach the order in Shopify.

UTM tracking in Klaviyo

Klaviyo builds the parameters from its own settings, so there is no string to paste. Choose these in Klaviyo, under your account name › Settings › Other › UTM tracking.

Automatically add UTM parameters to links
Turn it on.
Source utm_source
A static value, such as Klaviyo or email.
Medium utm_medium
Message type. It sends email for an email and sms for an SMS.
Campaign utm_campaign
Set the Campaign value and the Flow value, each from the dynamic options Klaviyo offers for it.

Good to know

  • The switch covers new campaigns and flow messages, not existing ones.
  • A message with UTM values of its own, or with tracking turned off, keeps its settings when you change these.
  • Shopify Email adds its own by default: utm_source=shopify_email, utm_medium=email, and a utm_campaign made of the email's name and its activity id.

AdZoom matches orders to ads for Meta and Google Ads, not for Klaviyo. These parameters still reach the order in Shopify.

How Shopify records UTM parameters

Shopify UTM tracking in short: what Shopify keeps from a tagged link, where you find it in your admin, and what its own tools do with it.

  • Five values on the order

    Shopify keeps five UTM values for each visit that leads to an order: source, medium, campaign, content, and term. Apps read those five from the order and don't get the rest of the landing address. So every preset here uses those five and nothing else.

  • Where you see them

    To see them on an order, go to Orders in your Shopify admin, click the order number, then open Conversion summary › View conversion details › View full sessions. The details can take up to 48 hours to appear.

  • What reports and campaigns use

    Shopify's analytics has UTM source and UTM campaign as fields for its reports. Under Growth › Campaigns, a campaign's auto-match rule combines UTM parameters, for example utm_campaign with utm_source, and ignores a landing page's other parameters.

  • What Shopify's own channels add

    Shopify Email adds its own by default: utm_source=shopify_email, utm_medium=email, and a utm_campaign made of the email's name and its activity id. You change them under Apps › Messaging › Settings › UTM tracking. Visits the Shop app sends show shop_app as their UTM source in Shopify's session reports.

See which ads aren't tracked.

AdZoom's tracking check lists your active Meta ads that have no URL parameters, so you know where to paste these.

Coming soon to the Shopify App Store