Meta Ads Reports Fewer Purchases Than Shopify? How to Fix the Gap
- Home
- Blog
- Facebook Ads
- Meta Ads Reports Fewer Purchases Than Shopify? How to Fix the Gap
On this page
- Why Meta Ads Manager Shows Fewer Purchases Than Shopify
- Same Six Orders: The Counts Agree, the Credit Doesn’t
- Facebook Ads Purchases Don’t Match Shopify? Run This 9-Step Checklist
- Where to Look in Each Tool
- How to Spot More Than One Tool Sending Purchases to Meta
- Close the Gap With AnyTrack
- Prove the Gap Is Closed: The 7-Day Test
Shopify counts every order. Meta Ads Manager counts only the purchases it can attribute to your ads, under each ad set’s attribution setting. That part of the gap is expected, and it never closes to zero.
The part you can fix is the tracking gap: purchases that never reach Meta, reach it twice, or reach it without enough customer data to match.
Most people compare the wrong two numbers. The difference costs real money. Meta decides who sees your ads from the purchases it receives and can match to a person (Meta, About event match quality).
A missing purchase
Meta’s delivery can’t learn from a buyer it never sees. ROAS looks worse than it is, so you cut ad sets that work.
A doubled purchase
ROAS looks better than it is, and you scale spend that isn’t earning it.
The 5-minute check:
- Pull last week’s online store orders from Shopify.
- In Meta Events Manager, go to Data sources, select your dataset, and click View details on the Purchase event. It splits last week’s purchases into browser (Meta Pixel) and server (Conversions API) (Meta, View server event details).
- Take the larger of the two counts. Don’t add them: one order can show in both. Treat the result as a floor: an order sent by only one method can push the real total higher.
No View details? Meta shows it for server events, so your Purchase total counts browser events only. Use that total.
Then compare that count with Shopify’s orders:
Meta purchases dropped since late August 2026? Upgraded Thank you pages don’t run Additional scripts, and stores that missed Shopify’s August 26, 2026 deadline were upgraded automatically (details below). A Purchase pixel pasted there stopped triggering.
- Events Manager now equals Shopify: the drop removed a double count.
- Events Manager is below Shopify: set up one server-side sender.
Disclosure: We build AnyTrack. It shows up as one view among several in the comparisons, and two sections near the end show how it closes the gap and how to prove it. The diagnosis works with tools you already have: Shopify, Meta, and Google Analytics 4.
Why Meta Ads Manager Shows Fewer Purchases Than Shopify
Shopify and Meta answer different questions:
Orders
“How many orders did we get?” Shopify records each order when it’s processed, so ad blockers and browser tracking prevention don’t touch its count (Shopify, App pixels).
Ads Manager
“How many purchases can Meta credit to people who saw or clicked our ads?” (Meta, event count differences)
So the gap has two parts:
| Gap | What it is | Where you see it | Can you close it? |
|---|---|---|---|
| Attribution gap | Meta has the purchase but doesn't credit it to an ad | | No, and it's not a fault |
| Tracking gap | The purchase never reaches Meta, arrives twice, or arrives without enough customer data to match | | Yes |
What each report should show for 100 orders
Follow one week of 100 Shopify orders through each report. With working tracking, the counts land here:
| Report | What it counts | Of 100 orders | A difference comes from |
|---|---|---|---|
| | Every order placed in the store | 100 Online store orders | Baseline for every other report |
| | Every Purchase from Shopify's order webhook | 98 to 100 Parity with Shopify | A cart app that strips AnyTrack's click ID. Support can recover the order |
| | Every Purchase Meta received, attributed or not, by connection method | 98 to 100 A floor: the larger of the browser and server counts | Fewer: purchases that never reached Meta, or low browser and server overlap. More server purchases than orders: two server-side senders |
| | Purchases Meta credits to an ad, under each ad set's attribution setting | A share, such as 20, 50, or 80 Near 100 only when almost every buyer came from a Meta ad | Buyers who never saw a Meta ad, clicks outside the window, purchases Meta cannot match to a person |
| | Purchases whose first or last ad click, on any platform, was a Meta ad | Its own share of the 100 Read it next to Ads Manager, not as a match | AnyTrack gives each order to one ad click on any platform. Meta credits its own clicks, views, and engagements, within its window |
Sources: Meta, event count differences, Meta, View server event details, AnyTrack, Shopify Setup Checklist, AnyTrack, Campaign Report, AnyTrack, Attribution Explained.
The first three rows count the same orders, so they should agree within a few. In Events Manager, use the larger of the browser and server Purchase counts as a floor, never their sum.
Below Shopify, read the Event Deduplication tab. With high overlap, the gap is a tracking problem, with or without AnyTrack. Fix it first.
The last two rows count credit, under different rules. A shopper clicks a Meta ad, then a Google ad, then buys within seven days. Ads Manager counts the order. AnyTrack’s Last Ad Click gives it to Google. Your traffic mix decides how far the two drift apart.
Parity gets every purchase to Meta. The data on each purchase decides how many Meta can credit. Shopify’s order carries the email, phone, name, and address. Meta also asks for four parameters from the visit itself:
Meta adds all four to browser events on its own. A server-side sender has to add them to each order. The IP address and user agent come with every visit. fbp and fbc exist only in the browser (Meta, fbp and fbc, Meta, Customer information parameters).
Meta recommends sending fbc with every event, but only a click from Facebook or Instagram creates one (Meta, fbp and fbc, AnyTrack, Shopify Setup Checklist).
What creates the attribution gap
Each ad set counts purchases inside its attribution setting (Meta, About attribution models and attribution settings):
- Click-through
- 1 or 7 days
- After a link click
- View-through
- 1 day
- After someone sees the ad
- Engage-through
- 1 day
- After a non-link click or a 5-second video play
A buyer who clicked 9 days ago is in Shopify and outside a 7-day click window. Three more things widen the gap:
What creates the tracking gap
Six causes lose purchases, or the data Meta needs to credit them. The seventh counts purchases twice.
Same Six Orders: The Counts Agree, the Credit Doesn’t
Here’s one week in a Shopify store that runs Meta and Google Ads. Six buyers, six orders, and every tool below works correctly.
What each tool reports for the week:
-
Orders
- 6
- Placed in the store
-
Events Manager
- 6
- Purchase events received
-
Ads Manager
- 5
- Attributed to ads: orders 1, 2, 3, 5, and 6
-
Campaign Report
- 6
- Tracked. Meta ads: 2 or 3, by Last or First Ad Click
-
Key events
- 6
- Purchases. Meta gets orders 1 and 2, plus part of order 6
-
Conversions
- 2
- Attributed to ads: orders 5 and 6
What the six orders teach:
Split the gap into two numbers:
- Received
- 100%
- 6 of 6 orders this week
- Attributed
- 83%
- 5 of 6 orders this week
-
Received is the larger of Events Manager’s browser and server Purchase counts, divided by Shopify’s online store orders. It’s a floor, so check the Event Deduplication tab before you read a low number as lost orders.
It shows whether tracking works, and it’s the number a setup can fix. Above 100% points to a second sender, or to subscription renewals sent as purchases.
-
Attributed is Ads Manager purchases divided by the same orders. It measures Meta’s credit, and credit overlaps: Google Ads claims 2 of the same 6 orders. Report each platform on its own, and never add them up.
How Shopify and Meta count each order
| Order | | | |
|---|---|---|---|
| Order 1 | Mon | Mon | Mon 7-day click |
| Order 2 | Thu | Thu | Thu 7-day click |
| Order 3 Never clicks | Wed | Wed | Wed 1-day view |
| Order 4 Never sees an ad Types the URL, buys Thu | Thu | Thu | No credit No Meta ad |
| Order 5 | Sat | Sat | Sat 1-day view |
| Order 6 | Wed | Wed | Wed 7-day click |
| Total | 6 Orders | 6 Purchases received | 5 Purchases attributed |
This table dates each Meta purchase on the day of the order, as Meta’s Marketing API docs describe for web purchases (Meta, Limits & Best Practices). A Help Center article on Commerce Manager says Ads Manager uses the ad’s impression date instead (Meta, How conversions are attributed in Commerce Manager). Either way, all five purchases stay inside this week.
How AnyTrack, GA4, and Google Ads count the same orders
| Order | | | | |
|---|---|---|---|---|
| Order 1 Meta ad click, then buys | | | | No |
| Order 2 Meta ad click, returns by typing the URL | | | | No |
| Order 3 Meta ad view, then types the URL | No ad click Tracked, Wed | No ad click Tracked, Wed | Direct Wed | No |
| Order 4 No ad, types the URL | No ad click Tracked, Thu | No ad click Tracked, Thu | Direct Thu | No |
| Order 5 Meta ad view, then a Google ad click | | | | Yes Sat |
| Order 6 Meta ad click, then a Google ad click | | | | Yes Tue (click date). Wed in the "by conv. time" columns |
| Total | 6 tracked Meta 2, Google Ads 2, no ad click 2 | 6 tracked Meta 3, Google Ads 1, no ad click 2 | 6 key events Meta: orders 1 and 2, plus a share of order 6 | 2 Conversions |
The example assumes one device per buyer, one server-side sender for Meta, ad sets on 7-day click and 1-day view, UTM parameters on every ad, online store orders only, no consent or ad-blocker losses, and GA4 on its default data-driven model.
Four journeys that change the totals
Sources for both tables, all read on October 4, 2026
- Meta: About attribution models and attribution settings, Differences between event counts in Meta Ads Manager, Ads Reporting and Events Manager, Limits & Best Practices, How conversions are attributed in Commerce Manager.
- Google: Get started with attribution, How to attribute credit for key events, Understand your conversion tracking data, Data discrepancies: Factors and troubleshooting, About attribution reports.
- Shopify: Sales reports.
- AnyTrack: Attribution Explained, First Click vs Last Click, Campaign Report.
Facebook Ads Purchases Don’t Match Shopify? Run This 9-Step Checklist
Run the checks in order. The first five take minutes and change nothing in your setup. The last four go deeper.
Meta vs Shopify purchase gap: 9 checks
Tick each check as you go. Copy the list into your team's doc or ticket.
0 of 0 done
-
Shopify’s time zone lives in Settings > General > Store defaults. Your Meta ad account, GA4 property, and any tracking tool each have their own. Shopify and Meta both list mismatched time zones as a cause of reporting differences (Shopify, Analytics discrepancies, Meta, Troubleshoot reporting differences). Compare a finished week, never today.
-
Shopify’s sales reports include pending, unpaid, and canceled orders. Test orders aren’t included (Shopify, Sales reports). Use Total sales by sales channel and keep only your online store, because that’s the checkout your Meta purchase events come from. Count orders, not units.
-
In Ads Manager, open Columns: Performance > Compare attribution settings to split results into 1-day view, 1-day click, 7-day click, and 28-day click (Meta, Compare attribution settings). The 1-day view column shows the purchases that followed an ad view with no click.
-
Each tool dates a purchase its own way. Weekly totals absorb most date shifts.
-
A week you pull today can grow tomorrow:
-
Insights refresh
- 15 min
-
Until the numbers stop changing
- 28 days
-
Last click
- 3 h
-
Other models
- 15 h
Sources: Meta, Limits & Best Practices and Google Ads, About data freshness. Google’s figures are maximums. Our Ad Platforms Attribution page lists the delay for each platform.
-
-
Select your dataset, find the Purchase event, and open View details: Event Overview, Event Coverage, Event Quality, Event Deduplication, and Data Freshness (Meta, View server event details). Compare Shopify with the Purchase count from each connection method: browser (Meta Pixel) and server (Conversions API). Then check Diagnostics for red (critical) and yellow (warning) issues (Meta, About diagnostics).
-
Settings > Customer privacy > Cookie banner > Regions and content shows where Shopify asks for consent (Shopify, Customer privacy settings). If you use a third-party banner app, confirm it syncs consent to Shopify. If it doesn’t, pixels can stay off after the visitor agrees.
-
One tool should send each purchase to Meta. The 7 places to look are below.
-
Meta lists currency and decimals among the causes of reporting differences (Meta, Troubleshoot reporting differences). Convert every tool to the same currency before you compare.
Shopify records returns and cancellations as negative sales on the day it processes them (Shopify, Sales reports), while ad platforms keep the purchase events they received. Compare sales before returns and cancellations. AnyTrack doesn’t send refunds to ad platforms either: see Commission Reversals & Refunds.
Where to Look in Each Tool
Each tool answers a different question. For each one: where to click, what the number means, and the trap.
Orders
The trap: Shopify’s own attribution on the Growth page uses Last non-direct click by default (Shopify, Measuring marketing performance). That’s another model again. Its Facebook orders won’t match Ads Manager, and they aren’t meant to.
Events Manager
Compare Shopify with the larger of the browser and server counts, then read the Event Deduplication tab. The larger count is the least Meta received.
Ads Manager
The trap: the 1-day view column. Those purchases had no click, so no click-based tool will ever show them.
Conversions and Campaign Reports
The trap: campaign columns need the UTM template on your ads, or visits show under “(not set)” (AnyTrack, Campaign Report, Facebook UTM Parameters). AnyTrack aligns Google Ads figures to conversion time, so compare them with Google’s “(by conv. time)” columns.
Key events
The trap: GA4 can’t see a Meta ad nobody clicked. Google says even its own view-through conversions aren’t supported in Google Analytics (Google Ads, About attribution reports).
Meta clicks land in Paid Social only when your UTMs carry a paid medium, such as utm_medium=paid (Google, Default channel group). Untagged Meta clicks can fall into Organic Social, or Direct when the referrer is missing. Our GA4 integration guide covers the setup.
Triangulate with the 2-of-3 rule
Shopify, GA4, and a click-based conversion tracking platform such as AnyTrack each count your orders and credit them to sources on their own. Meta is a fourth view, with its own rules. Read them together:
No conversion tracking platform? Shopify and GA4 still give you two views. Meta’s 7-day click column is the closest Meta number to theirs, because it leaves out views.
How to Spot More Than One Tool Sending Purchases to Meta
Double senders hide well, because the symptom looks like good news: more purchases and a better ROAS.
Here’s how it happens. You turn on Shopify’s Facebook & Instagram channel. Months later, someone installs a pixel app for a new campaign, or a developer pastes the pixel into your theme. Now two tools send Purchase to the same dataset.
Watch for three symptoms:
Where to look: 7 places
Second sender check: 7 places
Taking over a client's store? Run all seven before you change a bid.
0 of 0 done
-
Sales channels > Facebook & Instagram > Settings > Data sharing settings. Standard sends through the Meta Pixel only. Enhanced and Maximum also send through the Conversions API (Shopify, Facebook data sharing).
-
Settings > Customer events lists the apps that send pixel data. Only apps built on Shopify’s Web Pixels API appear there (Shopify, App pixels).
-
Settings > Customer events > Custom pixels. Shopify tells you to remove or change existing pixels before you add one, so events aren’t counted twice. Disconnecting a pixel doesn’t delete it (Shopify, Manage your custom pixels).
-
A hard-coded Meta Pixel sits in theme.liquid, between the
headtags. Shopify asks you to remove it once the pixel runs through the channel (Shopify, Meta pixel). -
Check your web and server containers for a Meta Pixel tag or a Conversions API tag.
-
This free Chrome extension’s icon shows how many pixel events triggered on a page (Meta, About Meta Ads Data Advisor). Turn off your ad blocker, place a test order, and look for two pixel IDs or two Purchase events.
-
The Purchase event’s details split events by connection method: browser for the Meta Pixel, server for the Conversions API (Meta, View server event details). More server purchases than orders means two server-side senders.
Why Meta can’t clean it up for you
Meta deduplicates two events only when all three of these hold (Meta, Handling Duplicate Pixel and Conversions API Events):
Unless two tools build the event ID the same way, Meta sees two purchases. Its fallback, matching on fbp or external_id, works only when a browser event arrives first (Meta, About deduplication).
Deduplication exists for one system that sends one purchase two ways, browser and server.
The fix: one sender per event
Pick one tool to send each purchase to Meta, and turn the others off. Shopify’s Enhanced or Maximum data sharing can be that tool. So can a conversion tracking platform such as AnyTrack.
If Events Manager flags deduplication issues, our Facebook Ads troubleshooting guide walks through each warning.
Switching senders takes three moves:
With AnyTrack, purchases arrive as server events. Once AnyTrack’s Conversion API is on, conversions reach Meta through the Conversion API only, and the Facebook Pixel triggers PageView only (AnyTrack, Facebook Conversion API).
Your funnel events still arrive, from ViewContent to Purchase, as server events (AnyTrack, Shopify Integration). There’s no browser and server pair to deduplicate in the first place.
It also makes a leftover sender easy to spot: a browser Purchase in Events Manager means another tool still sends it.
Expect Meta’s purchase count to move the week you switch. Fewer purchases means a double count left. More means the old sender missed orders. Your Shopify orders tell you which.
If you bid toward a target cost per purchase or a target ROAS, review it once the new count settles: you set that target on the old count.
Close the Gap With AnyTrack
Meta is your only ad platform? Start with Shopify. Shopify’s Enhanced and Maximum data sharing already send purchases to Meta from the server (Shopify, Facebook data sharing).
Once you run Meta and Google Ads together, go back to the six orders. The two platforms claimed 7 purchases for the 5 orders an ad touched. AnyTrack credits each order to one ad click or to none, so its count adds up to 6. On Last Ad Click: Meta 2, Google Ads 2, no ad click 2.
Side by side, the two counts give Meta a range:
-
Campaign Report's count
- 2 or 3
- Meta ad clicks, by Last or First Ad Click
-
Ads Manager's count
- 5
- 7-day click and 1-day view
Orders 3 and 5 followed a Meta ad view, and no click-based count can see a view. Order 6 had a click on both platforms, so its credit depends on the model.
Cut Meta on its click count alone
You ignore orders like 3 and 5.
Scale Meta on its own count alone
You credit Meta with orders Google Ads also claims, like 5 and 6.
The Campaign Report shows both ends of the range, Meta’s Attributed Results and AnyTrack’s count, next to spend for each campaign.
What AnyTrack adds:
Setup takes four steps. It’s copy and paste, with no developer needed (AnyTrack, eCommerce Integrations), and our Shopify Integration guide walks through each one. You need access to your theme code, your Shopify admin settings, and each ad account.
What it costs
The Free plan sends no conversions to ad platforms. It covers 5,000 sessions a month, the Tracking Tag, one conversion source, and campaign data from one ad platform.
Sending conversions takes a paid plan, and each store needs its own property (AnyTrack, eCommerce Integrations).
| Plan | Per month | Stores | Sessions a month All stores |
|---|---|---|---|
| Starter | $100 | 1 | 100,000 |
| Personal | $150 | 3 | 500,000 |
| Advance | $300 | 10 Plus $30 a month for each extra store | 3,000,000 |
Starter, Personal, and Advance each start with a 14-day free trial, long enough for the 7-day test below (AnyTrack, Compare Plans and Features).
Go further:
- Step-by-step builds: send Shopify purchases to Meta’s Conversions API and send Shopify purchases to Google Ads with Enhanced Conversions.
- Every setting: the Shopify Setup Checklist.
- The mechanics: How to Implement the Facebook Conversion API and Server-Side Tracking vs Server-Side Tagging.
Prove the Gap Is Closed: The 7-Day Test
Don’t trust a setup you haven’t tested. Check it upstream to downstream, in the order the data flows (AnyTrack, Verify Your Setup):
Setup test: 4 checks
From your store to Meta, in the order the data flows.
0 of 0 done
-
The AnyTrack Pixel Helper icon turns blue on your store, and PageView events show in the Conversions Report as you browse.
-
Place a test order. It appears in Integrations > Shopify > Events Log, then in the Conversions Report (AnyTrack, Integration Event Log).
-
Copy the code from Meta’s Test Events tab. In AnyTrack, open Tracking Pixels > your Facebook Pixel, and paste it into Test Event Code in the Facebook Conversion API section.
AnyTrack’s Server events test mode lists the events leaving your account, and Meta’s Test Events tab lists the ones that arrive with the code. The tab is a validation view, not proof of delivery: a Purchase sent without the code arrives as a live event, so if your test purchase isn’t in the tab, look for it in Events Manager’s Overview.
After the test, every purchase reaches Meta unless AnyTrack loses access to your Meta account, for example after a Facebook password change.
AnyTrack emails you if it does: open Tracking Pixels and click Reconnect on your Facebook Pixel (AnyTrack, Facebook Ads troubleshooting).
-
The Campaign Report shows your campaigns with spend, and the Conversions Report shows your test order with its source.
Then reconcile two weeks, one row per day. Use the same time zone in every tool.
Before
Fill it from Shopify, Events Manager, and Ads Manager, with the week before the switch.
After
Run 7 days on the new setup, and fill every column.
| Column | Where to get it | What a closed gap looks like |
|---|---|---|
| | Total sales by sales channel, online store only | Your baseline |
| | Event Name: Purchase, Integration: Shopify | The same orders, matched by Shopify order ID |
| | Purchase event, larger of the browser and server counts (a floor) | Equal to AnyTrack's purchases, give or take orders near midnight |
| | Your purchase results, same date range | Lower than Events Manager. The difference is attribution |
No AnyTrack? Leave its column empty and compare Shopify with Events Manager directly.
Sell subscriptions? AnyTrack counts Shopify subscription renewals as purchases by default and sends them to Meta, so make sure your Shopify column includes renewal orders.
To track renewals as Upsell or Subscribe instead, rename Subscription Renewal in the Shopify Integration Events section of your Shopify integration page. From then on, leave renewal orders out of your Shopify column.
7-day test template
A spreadsheet with one row per day for the before and after weeks, the four columns above, and a Notes column. It opens in Google Sheets, Excel, or Numbers.
Download the template (CSV)Your tracking gap is closed when all five hold for the after week:
-
Every Shopify order shows in AnyTrack. Chase any missing one in the Events Log. One missing order while the rest track usually means an app changed that cart and removed AnyTrack’s click ID: cart drawers, quick-buy buttons, and bundle or subscription apps are common causes.
AnyTrack support can recover the order (AnyTrack, Shopify Setup Checklist).
-
Events Manager’s Purchase count matches AnyTrack’s, day by day, give or take orders near midnight.
-
Events Manager shows no browser Purchase events. AnyTrack’s purchases arrive as server events, so a browser one means another sender is still on.
-
Events Manager never shows more purchases than Shopify has orders.
-
Purchase Event Match Quality holds or rises against the before week. Don’t chase a target score.
What’s left between Events Manager and Ads Manager is attribution, and Compare attribution settings shows where it lands.
Recheck the same week a few days later. Meta’s numbers can keep moving for up to 28 days.
Reporting the result to a client or a founder? Show the before and after weeks as the two numbers from earlier, Received and Attributed, and they see where every order went. For a full audit of every tag and integration, use The Complete Tracking Verification Checklist.
Every week Meta runs on missing or doubled purchases is a week its delivery learns from the wrong buyers, and a week of budget decisions made on the wrong ROAS. The 5-minute check at the top costs nothing. Run it today.
Meta vs Shopify Purchase Gap FAQ
Short answers for store owners, media buyers, and agencies
Why does Facebook show fewer purchases than Shopify?
Shopify counts every order. Facebook Ads Manager counts only the purchases Meta can credit to people who saw or clicked your ads, inside each ad set's attribution setting. The rest of the gap comes from purchases that never reach Meta: a blocked pixel, declined consent, a thank-you page that never loads, or customer data too thin to match. Compare Shopify with Meta Events Manager first to see which part you have.
What's a normal gap between Meta and Shopify?
There's no fixed number, and any percentage you read online comes from someone else's traffic mix. Your attribution gap depends on how many orders come from email, Google, organic search, and returning customers who never see a Meta ad. Measure your own baseline with the 7-day test, then watch for changes. A drop in Events Manager purchases while Shopify orders hold steady is a tracking problem.
Why is my Facebook pixel not tracking all purchases on Shopify?
A browser pixel triggers only when the visitor's browser loads the thank-you page, lets the pixel run, and has consent where your banner asks for it. Ad blockers, declined consent, and buyers who pay offsite and never come back all break that chain. Pixels pasted into Shopify's Additional scripts also stopped triggering once your Thank you page was upgraded. A server-side sender, through Shopify's Enhanced or Maximum data sharing or a conversion tracking platform like AnyTrack, sends the purchase from the server, where ad blockers can't stop it. AnyTrack takes each purchase from Shopify's server, so it doesn't need the thank-you page either. Consent rules still apply.
Why does Events Manager show more purchases than Shopify?
Two tools probably send the same purchase, each with its own event ID, so Meta can't deduplicate them. Or the Meta Pixel and the Conversions API both send it, and you're reading Events Received, which adds both counts before deduplication. Check the Event Deduplication tab, then look for every sender in the 7 places listed in this guide.
Should I use Shopify's Maximum data sharing or a separate tracking tool?
Either one can be your single sender for Meta. Never run both on the same Purchase event. Shopify's Enhanced and Maximum levels send purchases through the Meta Pixel and the Conversions API. AnyTrack also sends the same orders to Google Ads and other ad platforms, and shows its own click-based attribution next to Meta's numbers in one Campaign Report.
How do I track purchases from Facebook Ads?
Put a UTM template on every ad, so each visit carries its campaign, ad set, and ad. Send each Purchase to Meta from one server-side sender, through Shopify's data sharing or a conversion tracking platform like AnyTrack. Place a test order and confirm it reaches Meta in Events Manager. Then read results in Ads Manager with Compare attribution settings, and check them against Shopify and GA4.
Does AnyTrack count view-through conversions?
No. AnyTrack's attribution is click-based: First Ad Click or Last Ad Click. AnyTrack still sends every purchase with first-party data through the Conversion API, so Meta can measure view-through on its side. Those results show in the Attributed Results column of AnyTrack's Campaign Report, next to AnyTrack's own click-based count.
Laurent Malka is the Co-Founder of Anytrack. He was born and raised in Switzerland, and now lives and works in Israel. He is a serial entrepreneur with over 15 years of experience in marketing and business development. Laurent has been a panelist and speaker at numerous digital marketing events including SEMrush and IG Affiliates. He prides himself on his ability to connect the dots across disciplines, industries, and technologies to solve unique challenges.