AnyTrack

PLAYBOOK

Send Shopify Purchases to the Meta Conversions API

Meta reports fewer conversions than Shopify, and your campaigns scale on a number that isn't real. This playbook sends every checkout event server-side, deduplicated by AnyTrack before it reaches Meta.

Meta Ads
Ad click lands on your store
arrow-down.svg ui
Your Shopify Store
Pages, cart & checkout events
arrow-down.svg ui
logo-alt.svg ui
AnyTrack
Dedupe, enrich, attribute
arrow-down.svg ui
Meta Conversions API
Server-side, deduplicated
↺ Results loop back to sharpen Meta's bidding
Playbooks / Send Shopify Purchases to the Meta Conversions API

“Meta says 40 purchases. Shopify says 80.” If you run ads for a Shopify store, you’ve had that Monday. iOS restrictions, Safari’s tracking prevention, and ad blockers stop the browser pixel from reporting a chunk of your real sales, so Meta’s algorithm optimizes on incomplete data and you can’t scale spend on a number you don’t trust.

This playbook fixes the signal, not the symptom. AnyTrack collects your Shopify checkout events server-side, enriches them with attribution and customer data, and sends them to Meta through the Conversions API. The Meta Pixel only fires PageView; AnyTrack deduplicates its own client and server events into one clean conversion before it ever reaches Meta.

Outcomes What This Playbook Unlocks
party-data.svg features
Audience building
Full-funnel Shopify events become Meta custom audiences, from browsers to cart abandoners to buyers.
data-orchestration.svg features
Audience enrichment
Every event carries hashed customer data and product details, so Meta matches more of your real buyers.
roas-tracking.svg features
ROAS increase
Advantage+ optimizes on complete purchase data instead of what the browser pixel survives.
How it works

The Journey of a Tracked Conversion

Follow one customer from ad click to server-side conversion. Every signal is tracked, enriched, and sent to your ad platforms automatically.

Ad Click
Click ID (fbclid) collected
Campaign, ad set & creative recorded
Country, device & browser context
logo-alt.svg ui
Session Started
First-party data collected
Traffic source recorded
Click ID stored against the session
Add to Cart
Server-side via Shopify webhook
Product, variant & quantity
Cart value recorded
Purchase
Order webhook, no thank-you page
Order total & currency normalized
Customer data hashed for matching
Sent to
logo-alt.svg ui
AnyTrack
logo-alt.svg ui
Conversion Tracked
Event data processed
Matched to session & Meta click ID
Event deduplicated & enriched
Revenue attributed to the ad click
Sent to Facebook
Conversion API
Conversion data + first-party data
Deduplicated by AnyTrack before sending
In Events Manager within 15-20 minutes
Conversion attributed in Ads Manager

Steps marked with the AnyTrack node run automatically. No extra code, no manual tagging.

Example Scenario

You run a DTC brand on Shopify with Advantage+ campaigns. Shopify’s order admin shows healthy revenue, but Ads Manager under-reports it, so the algorithm starves. You want every Purchase, plus the funnel events before it, flowing to Meta server-side with the original ad click attached.

Prerequisites Before You Begin
  • An AnyTrack account on Starter or above (the Conversion API requires a paid plan)
  • Admin access to your Shopify store, for theme code and Settings → Notifications
  • Access to your Meta ads account and Event Manager

Step 1: Install the Tracking Tag

The Tracking Tag opens the session, collects the traffic source, UTM parameters, and first-party data, and stores them against a click ID.

  1. Create a Property in AnyTrack and set your shop’s name and root domain.
  2. Copy the Tracking Tag.
  3. In the Shopify admin, edit your theme code and paste the Tag in the head section of the Theme Liquid file, then save.

Confirm the Tag in 30 seconds

Install the AnyTrack Pixel Helper Chrome extension to confirm the Tag runs on your store.

Step 2: Connect Shopify

The Shopify integration collects cart, checkout, and order events server-side, straight from Shopify’s servers. That’s why checkout events are tracked reliably even though the Tag doesn’t run on Shopify’s hosted checkout pages.

  1. In the Integration Catalog, install the Shopify integration and copy the webhook URL it generates.
  2. In your Shopify admin, go to Settings → Notifications → Webhooks and create the five webhook notifications listed on the integration page, pasting the AnyTrack webhook URL into each. Set the API version to the latest stable release, not Shopify’s default unstable.

You now track AddToCart, InitiateCheckout, AddPaymentInfo, and Purchase server-side, each enriched with product details and attribution data.

Step 3: Connect Facebook Ads

Connect Facebook Ads under Tracking Pixels in your AnyTrack dashboard. From here AnyTrack loads your Meta Pixel, which fires only PageView, and sends every conversion to Meta exclusively through the Conversions API. AnyTrack deduplicates its own client-side and server-side events into a single clean conversion before sending, so nothing double-counts. Standard events map one to one: Purchase arrives in Meta as Purchase, no manual mapping.

Remove other Meta connections

Remove the native Shopify and Meta app, any pixel app, or a hardcoded pixel first. Two systems sending the same purchase means duplicates in Ads Manager.

Step 4: Verify Your Setup

  1. Place a test order, or wait for a real one, and check the integration’s Event Log in AnyTrack.
  2. Use Meta CAPI Test Mode: paste Meta’s test event code into Tracking Pixels → your Meta Pixel → Facebook Conversion API → Test Event Code and watch server events appear in Meta’s Test Events tool, typically within 30 seconds.
  3. Watch your Event Match Quality score climb as server-side events carry hashed customer data from checkout.

Step 5: Launch the Campaign Stack

The signal is fixed. Now point campaigns at it. Two builds cover most stores, and both run on the events already flowing.

Prospecting: Advantage+ on real purchases

Your main growth engine, now optimizing on complete data.

  • Destination: your best-selling product or collection page, with the UTM tracking template from Tracking Pixels → your Meta Pixel → Ads Integrations pasted at the campaign level, so the Campaign Report ties every sale to the campaign that earned it.
  • Budget: keep your current Advantage+ level through a week of learning on the new signal, then scale in steps of about 20% as long as CPA holds. Big jumps reset delivery learning.
  • Audience: Advantage+ handles targeting; your job is the exclusion. Exclude a website custom audience of purchasers (built from the Purchase events AnyTrack sends, 180-day window) so prospecting stops paying to re-win existing customers.
  • Event tracking: optimizes on the server-side Purchase, deduplicated against your Meta Pixel; generates the ViewContent, AddToCart, and InitiateCheckout events that fill the retargeting pool below.
  • Conversion objective: Sales, optimized for the Purchase event.

Retargeting: close cart abandoners

The cheapest revenue in your account: people who already chose the product.

  • Destination: the product page or cart, same UTM tracking template at the campaign level.
  • Budget: 10 to 15% of your prospecting spend to start. The audience size is the real ceiling; raise budget only as the pool grows.
  • Audience: a website custom audience of AddToCart without Purchase, 7-day window, purchasers excluded.
  • Event tracking: fed by the AddToCart events arriving server-side from Shopify; generates the Purchase events that pull buyers out of this audience automatically.
  • Conversion objective: Sales, optimized for the Purchase event.

The Optimization Loop

Watch what the next sale does on its own. Shopify records the checkout, AnyTrack sends it to Meta server-side right away, and the buyer sorts themselves out of your ad spend: out of the abandoner audience, into the purchaser exclusion, and into the pile of examples Meta studies to understand what your real customers look like. Meta blends new signals into bidding and audiences on a schedule of its own rather than the second they arrive, but every checkout leaves its delivery a little better trained. The fix you shipped in Steps 1 to 4 compounds from here.

Three tasks, once a week, and the slower loop is covered:

  1. Measure. Put spend next to the Shopify revenue AnyTrack attributes to each campaign in the Campaign Report. Then glance at Event Match Quality in Meta Events Manager; it should hold high while hashed checkout data flows.
  2. Improve. Trust the ROAS that holds up in the Campaign Report over the one that only looks good in Ads Manager, and move budget accordingly. Run the abandoner window shorter when frequency gets hot, longer when the audience starves.
  3. Expand. The day your purchaser audience hits a workable size, seed a 1% Lookalike Audience from it and add a lookalike prospecting campaign with the same task-card fields as above. Real buyers are the strongest seed you can hand Meta.

Meta improves between your check-ins; you improve at them. Neither works without a purchase count you can trust, and that’s exactly what you fixed.

Wrapping Up

Here’s what you shipped:

  • Every Shopify checkout event tracked server-side, immune to iOS and ad blockers.
  • Meta optimizing on your real purchases, with deduplication handled for you.
  • A prospecting and retargeting stack fed by clean events, plus a weekly loop to compound it.
  • One dashboard where ad spend and Shopify revenue finally agree.

Sending conversions through the Conversion API requires a paid plan (Starter or above); the Free plan tracks events in your dashboard.

Ready to Feed Your Ad Platforms Better Data?

One Tracking Tag. Every conversion signal, sent server-side to every platform you run. Set up this playbook in under an hour.

14-day free trial · No credit card required