UTM Tracking for Ad Attribution
Mis à jour le 4 août 2026
Profitario attributes each order to the ad or channel the visitor came from by reading the tracking tags (UTM parameters) on the link they clicked before buying. Setting these tags correctly in your ad platforms makes the Attribution report accurate.
How Profitario reads your traffic#
When someone clicks your ad and places an order, Shopify saves the landing link. Profitario reads that link and uses three pieces of it:
- utm_source: which platform the visit came from (Facebook, Google, and so on).
- utm_medium: whether the visit was paid.
- utm_campaign or utm_id: which campaign the order belongs to.
Profitario also auto-detects the click IDs that Meta (fbclid) and Google (gclid) add to ad links. An order with one of those is marked as paid even if the UTM tags are missing.
You do not need to install a separate pixel. Profitario reads the landing link Shopify already records on every order.
Recognized utm_source values#
Set utm_source on your ad links to one of these values so Profitario knows the platform:
| Platform | Set utm_source to |
|---|---|
| Facebook / Instagram (Meta) | facebook, fb, meta, instagram, ig |
| Google Ads | google, google_ads, adwords |
| TikTok | tiktok, tt |
pinterest, pin | |
| Snapchat | snapchat, snap |
| Microsoft / Bing | bing, microsoft |
| Taboola | taboola |
| AppLovin | applovin |
Pick one value per platform and use it everywhere. facebook and google are the safest defaults.
Mark paid traffic#
A utm_medium of cpc, ppc, paid, paidsocial, cpm, or display tells Profitario the visit was paid. Set one of these on every ad link so paid orders are not counted as organic.
Match orders to a campaign#
For orders to line up with a specific campaign in the report, set one of these on the ad link:
- utm_id set to the campaign ID from your ad platform, or
- utm_campaign set to the exact campaign name.
Profitario matches on the campaign ID first, then falls back to the campaign name. The campaign name must match exactly (spacing and wording), so the ID is more reliable.
Match orders to a specific ad#
To see which individual ad drove an order, not just which campaign, add an ad-id tag to your ad links:
- pf_adid set to your platform's ad-id macro:
| Platform | Set pf_adid to |
|---|---|
| Meta | {{ad.id}} |
| Google Ads | {creative} |
| TikTok | __CID__ |
Profitario also reads tw_adid, trueroas, and each platform's own ad-id parameter (for example fbadid, gadid, ttadid), plus the ad-id and campaign-id tags used by other attribution tools (Hyros, Comet, HubSpot, AdBeacon, and others), so if you already tag your links for another attribution tool, those tags keep working without any changes. Google's own automatic tags (gad_campaignid, gad_source) and the click and contact params added by email tools like Klaviyo, Mailchimp, and Omnisend are detected automatically too, no setup needed. Add pf_adid alongside them, or on its own if you are setting up tracking for the first time.
Email and SMS#
A utm_source of klaviyo, mailchimp, or sendlane, or a utm_medium of email, is classified as email traffic, not paid. Keep your email and SMS tags separate from your ad tags so the two are not mixed.
Common Questions#
My paid orders show as Direct or Unknown. Why?
The landing link had no UTM tags, or the tags contained unresolved macros. Some platforms insert placeholders like {{campaign.name}} that are meant to fill in at click time. If they do not resolve, Profitario ignores them. Check that your ad URLs produce real values, not literal {{ ... }} text.
I used a custom source like "fb_ads_retargeting". Will it work?
Profitario recognizes the exact values in the table above. A custom name may not be detected as the right platform. Include one of the recognized utm_source values, or rely on the fbclid / gclid click ID, which still marks Meta and Google orders as paid.
Does the campaign name have to match exactly?
Yes. Use utm_id with the campaign ID when you can, since names often differ by a space or a rename and then will not match.
Why is the attributed spend on an order dated differently than when the visitor clicked the ad?
Attributed ad spend is taken from the campaign's spend on the date the order was placed, not the date of the visit that brought the customer in. An order placed several days after the ad click draws its attributed spend from that later day, not the click day.
Cet article vous a-t-il été utile ?

