Orders from Shopify, not from a pixel
Record the sale even when the confirmation page never fires. Purchases are read from Shopify webhooks or your backend, which is exactly the case a browser pixel loses without telling you.
Key takeaway
Google claims 100 conversions, Meta claims 120, your store recorded 80. All three are telling the truth about what they saw, and the sum is still wrong. Starting from the 80 and reconciling the claims against it is the whole job, and it typically shows real ROAS 30 to 50% below what the platforms report.
The order
Every platform counts an assisted conversion as a full conversion and applies its own window. One purchase becomes 1 order in Shopify, 1.4 conversions in Google Ads and 1.2 in Meta. Nobody is lying, and the total is still meaningless until something reconciles it.
Record the sale even when the confirmation page never fires. Purchases are read from Shopify webhooks or your backend, which is exactly the case a browser pixel loses without telling you.
Walk into the budget meeting with a number nobody can dispute. Platform-reported sits next to deduplicated per channel, and it is checkable against a bank statement rather than another dashboard.
Rank channels on what they bring in, not how often they fire. Attribution runs on revenue rather than conversion counts, so volume at a low basket does not outrank fewer, larger orders.

The visitors
Before attribution can be right, collection has to be complete. A tag loaded from a domain on every blocklist misses Safari, Firefox and everyone running a blocker, and those visitors are not randomly distributed.
Recover the visitors your tag never saw. 92 to 98% captured against the 60 to 70% a GA4 tag records, and the honest reason it is not 100% is on the tracking page rather than glossed here.
Report complete traffic whatever your consent rate. Collection runs anonymously without consent and sets a first-party cookie with it, and only the attribution depth changes.
Teach the platform optimiser from conversions the browser never reported. Server-side events reach Meta, Google and TikTok with the deduplication key attached, so the sale counts once.
The decision
Deduplicated numbers change which channel looks good. What they cannot tell you is whether a channel caused the sale or merely showed up in its path, and that distinction is worth being honest about.
Show a stakeholder what platform bias costs in one dropdown. Data-driven attribution to allocate from, last-click to see what the platforms see, and four rule-based baselines as lenses.
Get a queue instead of a chart to interpret. Beacon ranks what to change on urgency against effort, and every rule carries its own record of how often it has been right.
Know what this cannot tell you before you rely on it. Attribution says where credit went; only a controlled experiment says whether it was real, and no customer incrementality test has concluded yet.

FAQ
Because each one reports from its own perspective, applies its own attribution window, and counts an assisted conversion as a full conversion. A single purchase can appear as 1 order in Shopify, 1.4 conversions in Google Ads on a 30-day window and 1.2 in Meta Ads on a 7-day click. Nobody is fabricating anything; they are each answering a different question. TrustData starts from the Shopify order, deduplicates the claims against it, and only then applies a model, so credited conversions always equal the orders you actually took. The gap is typically 30 to 50%.
No. Keep the ad platform dashboards for campaign management and bidding, because those platforms need their own signal to optimise against. This answers the different question of how to split the total budget across channels, given one conversion definition measured the same way everywhere. Using an in-platform number to answer a cross-platform question is what produces the over-reporting in the first place.
The tracking snippet is one line in the head, or the native Shopify integration which needs no code at all. Five minutes for collection. Connecting Google Ads, Meta and TikTok is OAuth, a couple of clicks each, and historical data loads on first connection so you are not starting from an empty chart. Server-side forwarding and custom events take about half an hour with the documentation open.
Below roughly 50,000 EUR a month in ad spend, a cheaper single-purpose tool is usually the right buy, and we would rather say so than sell you a platform you will not use. The reconciliation problem this solves gets expensive when you are running three or more paid channels and the difference between reported and real ROAS is worth more than the subscription. Under that, a good tracking tool and a spreadsheet is a defensible answer.
The same model works from a CRM or your own backend: something has to be the source of truth for an order, and it does not have to be Shopify. The JavaScript SDK works with React, Vue, Next.js and Nuxt, and conversions can arrive by webhook from whatever system records them. Shopify simply has a native integration that makes it the fastest path.
14-day free trial
14-day free trial. First-party tracking, deduplicated attribution and six models are on every plan, from EUR 199 a month.