Count the orders your store actually took
Purchases are read from Shopify webhooks or your backend, 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.
Purchases are read from Shopify webhooks or your backend, exactly the case a browser pixel loses without telling you.
Platform-reported sits next to deduplicated per channel, checkable against a bank statement rather than another dashboard.
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.
What a GA4 tag records and what actually visited are not the same number. The honest reason is on the tracking page.
Collection runs anonymously without consent and sets a first-party cookie with it. Only the attribution depth changes.
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.
Data-driven attribution to allocate from, last-click to see what the platforms see, and four rule-based baselines as lenses.
Beacon ranks what to change on urgency against effort, and every rule carries its record of how often it has been right.
Attribution says where credit went; only a controlled experiment says whether it was real. No customer 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.