Attribution Troubleshooting
Updated October 6, 2026
Find the symptom you see in Marketing Attribution below. Each one lists the usual causes and the fix. For any single order, its Attribution tab (Orders, click the order) shows the visits, the parameters Profitario read and the match method: it is the fastest way to see what happened.
- Where
- Marketing Attribution, and the Attribution tab of an order.
- Who
- Anyone whose attribution looks wrong or incomplete.
- Updates
- Fixes to ad links apply to orders from new clicks. Connecting an ad account also fixes recent orders.
Paid Orders Show as Direct#
The visit the customer bought in had no referring site and no parameters.
| Cause | Fix | | ----------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | | The ad links carry no UTM parameters | Add them on every ad platform: Tag Your Ad Links for Attribution | | A link shortener, redirect or landing page tool dropped the parameters | Link the ad straight to your store, or make the tool pass the parameters on | | The customer clicked the ad, left, and came back later by typing your address | Expected. Under Last click, an earlier matched ad click still wins over a direct visit. Turn on the Profitario pixel so Profitario knows that earlier click | | In-app browsers (Instagram, TikTok) opened the link without a referring site | The parameters still arrive when they are on the link. Tag your ads |
Orders in No Campaign Match#
The order came from an ad click (it has fbclid, gclid, a paid utm_medium or a recognised platform), but no campaign of your connected ad accounts fits. The info icon on the row lists the most common unmatched values.
| Cause | Fix |
| ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| The ad account is not connected in Profitario | Connect it under Integrations. Recent orders are matched again after the account syncs |
| The link has only a click ID (fbclid, gclid), no campaign | Add utm_id and pf_adid to your ad links: Tag Your Ad Links for Attribution |
| utm_campaign holds a name that differs from the campaign's name | Use utm_id with the campaign ID. Names stop matching after a rename |
| The campaign was deleted before Profitario synced it | Orders from it cannot be matched. Pause campaigns instead of deleting them while they still bring orders |
| Visits from your own social posts (no ad at all) | Expected: a visit from facebook.com or instagram.com is counted as paid. See how a visit gets its channel |
| Influencer or affiliate links tagged utm_medium=paid | Tag them utm_medium=referral, so they go to Referral |
Orders in Broken UTMs#
The ad link reached your store with a placeholder the platform never filled in, such as utm_campaign={{campaign.name}}. Profitario cannot read that value. The info icon on the row lists the placeholders it found.
| Cause | Fix |
| ---------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- | ----------- |
| On Meta, the parameters were pasted into Website URL, not URL parameters | Move them to URL parameters under Tracking |
| A placeholder from another platform: {campaignid} on Meta, {{ad.id}} on Google | Use the template for that platform: templates |
| A typo in the placeholder: {{campaign_id}} instead of {{campaign.id}} | Copy the template again |
| Microsoft placeholders in the wrong case: {campaignid} | Use {CampaignId} |
Profitario Shows Less Revenue Than the Ad Platform#
Some gap is expected: the platforms count views, claim orders that another channel also claims, and use their own windows. The reasons are in Profitario next to the ad platform.
When the gap is large, check:
- The platform's orders under No campaign match. Open the platform's row in Paid ads. A large No campaign match means clicks arrive but are not matched: fix the links as above.
- The click window. A 1d or 7d window drops older clicks. Try No limit to compare.
- The model. Under Last click, a campaign that starts journeys loses them to the ad clicked last. Use Compare models side by side to see its First click revenue.
- The date. Revenue counts on the order date. The platform may count on the click date.
A Campaign Has Spend but No Orders#
| Cause | Fix |
|---|---|
| Its orders are under No campaign match or Direct because its links carry no tracking | Tag its ads: Tag Your Ad Links for Attribution |
| Another campaign was clicked after it and takes the credit under Last click | Check its First click revenue in Compare models side by side |
| It really brought no orders in the range | Nothing to fix |
A Campaign Has Orders but No ROAS#
The campaign shows the No spend in range badge. Its orders fall in the date range, but the clicks and the spend behind them happened before it started. ROAS and POAS need spend in the range, so they stay empty. Widen the date range to include the days the campaign spent.
Many Orders Are Not Attributed#
These orders have no visit inside the click window.
| Cause | Fix |
|---|---|
| A short click window | Choose a longer window or No limit |
| Orders created outside your online store: apps, marketplaces, subscriptions | Expected. These orders have no visit |
| Customers who declined tracking in your cookie banner | Expected. Their visits cannot be recorded |
Point of sale and draft orders have their own rows, not this one.
Google Orders Show as Organic Search#
A visit from Google with no parameters at all is organic search. When Auto-tagging is off in Google Ads, ad clicks arrive the same way. Turn on Auto-tagging (it adds gclid) and add the Final URL suffix from Tag Your Ad Links for Attribution.
First Click Shows the Campaign but Not the Ad#
Without the pixel, the first visit comes from Shopify, which removes ad IDs from it. First click results then stop at campaign level. Turn on the Profitario pixel to record the full link of every visit from then on.
Still Wrong?#
Contact support at support@profitario.com and send:
- the order number of one affected order,
- the landing page link from its Attribution tab, under Touchpoints,
- the campaign you expected it to be credited to.
Related articles
Was this article helpful?

