Key takeaways
- Each platform (Shopify, Google Ads, GA4, Meta) requires its own conversion tracking setup.
- Shopify’s Customer Events API is the recommended way to send conversion data to ad platforms.
- Shopify’s built-in Analytics reports give you order data without any extra setup.
- Avoid installing the same pixel in multiple places - duplicate events inflate your reported conversions.
To track conversions in Shopify, connect each ad platform through its Shopify app (Google & YouTube, Facebook & Instagram, TikTok) or a custom pixel in Settings → Customer events, and use Shopify’s own order reports as the source of truth. Conversion tracking is what turns your ad spend from a guess into a measurement: without it, you can’t know which campaigns, keywords, or audiences drive actual purchases. The catch on Shopify is that there are several overlapping tracking systems to set up correctly.
Why you can trust us
Jacques has over 15 years of development experience, and we have worked in the Shopify ecosystem for more than four years. We build Fudge, the AI operator for Shopify stores, used by 3,100+ Shopify stores, with a 4.9 rating on the Shopify App Store.
Shopify’s built-in conversion tracking
Shopify tracks every order natively. No setup required.
Where to find it: Analytics → Reports → Sales over time, Orders over time, and Conversion rate.
Shopify’s analytics show you:
- Total sales and order count
- Conversion rate (sessions to orders)
- Average order value
- Top products and collections by revenue
- Traffic sources at a high level
Limitations: Shopify’s reports group sessions and sales by channel and UTM campaign, but they do not feed conversions back to ad platforms, which need their own tracking to optimise.
For that, you need platform-specific tracking.
To send these events to several tools at once, see how to add Google Tag Manager to Shopify.
Google Analytics 4 (GA4) conversion tracking
GA4 tracks the full shopping journey and can attribute purchases to traffic sources.
Setup via the Google & YouTube app:
- Install the Google & YouTube app from the Shopify App Store
- Connect your Google account
- Choose your GA4 property
The app sends page views, add-to-carts, checkouts and purchases to GA4. For events beyond those, set up a custom pixel in Customer events.
Viewing conversions in GA4: Reports → Monetization → Ecommerce purchases. Shows revenue, transaction count, and item-level data.
For events such as button clicks and scroll depth, see how to track click events in Shopify and how to track scroll events in Shopify.
Google Ads conversion tracking
For Google Ads to optimize your campaigns toward purchases, it needs to know when a purchase happens.
Recommended method — Customer Events:
- Settings → Customer events → Add custom pixel
- Write a pixel that loads gtag.js, listens to
checkout_completedand fires the Google Ads conversion:
// Load gtag.js inside the pixel sandbox
const script = document.createElement('script')
script.src = 'https://www.googletagmanager.com/gtag/js?id=AW-XXXXXXXXX'
script.async = true
document.head.appendChild(script)
window.dataLayer = window.dataLayer || []
function gtag() {
dataLayer.push(arguments)
}
gtag('js', new Date())
gtag('config', 'AW-XXXXXXXXX')
analytics.subscribe('checkout_completed', (event) => {
const order = event.data.checkout
gtag('event', 'conversion', {
send_to: 'AW-XXXXXXXXX/XXXXXXXXXXXX',
value: parseFloat(order.totalPrice.amount),
currency: order.currencyCode,
transaction_id: order.order.id,
})
})
Alternative method: Use the Google & YouTube Shopify app (free, by Google). It handles Google Ads conversion tracking and GA4 automatically.
Meta (Facebook) Pixel conversion tracking
Meta Pixel tracks who visits your store and reports purchases back for ad optimization and retargeting.
Setup via Shopify’s Facebook & Instagram app:
- Install the Facebook & Instagram app from the Shopify App Store
- Connect your Facebook Business Manager account
- The app automatically sets up the Meta Pixel and sends purchase events
Or via Customer Events:
- Settings → Customer events → Add custom pixel
- Add the Meta Pixel base code and listen for
checkout_completed - Fire
fbq('track', 'Purchase', {...})with order value and currency
Do not use both methods at the same time. This is a common cause of duplicate purchase events in Meta Ads Manager.
How to avoid duplicate conversion events
Duplicate events inflate your reported conversions and make ad optimization unreliable. Common causes:
Meta Pixel installed twice: once via the Facebook & Instagram app, once via manual pixel code in theme.liquid. Fix: use only the app, remove manual code.
GA4 tag firing twice: the Google & YouTube app AND a GTM GA4 tag both active. Fix: use one source, disable the other.
Old pixel code in additional scripts: Shopify retired the additional scripts field when the Thank you and Order status pages moved to checkout extensibility (for Plus stores in 2025 and for all plans by August 2026). Pixels left in that field no longer run, so they can’t cause duplicates any more, but they don’t track either. Move any you still need into Customer events.
How to diagnose: use Meta Events Manager → Test Events tab, or GA4’s DebugView. If you see the same event firing twice within milliseconds, you have a duplicate.
For a fix for each cause, see how to fix duplicate pixel events in Shopify.
TikTok, Pinterest, and other ad platforms
The pattern is the same for all ad platforms:
- Check if there’s a native Shopify app (TikTok has one, Pinterest has one)
- If yes, use the app — it handles pixel installation and purchase event tracking
- If no, use Customer Events to install a custom pixel
Always test using the platform’s native testing tools after setup. Don’t assume it’s working just because the pixel is installed.
Attribution: why different platforms show different numbers
Google Ads, Meta, GA4, and Shopify Analytics will each show different conversion numbers for the same time period. This is normal and expected.
Why it happens:
- Each platform uses its own attribution model (last-click, data-driven, 7-day view-through, etc.)
- A customer might click a Meta ad, then a Google search ad, then convert. Both Meta and Google claim the conversion, and GA4 may credit it to a different source again
- Shopify only counts the actual order; ad platforms include modeled conversions
Use Shopify’s native order data as your ground truth. Use ad platform conversions for optimization within each platform’s own interface.
To keep the campaign source attached to form sign-ups, see how to capture UTM values in Shopify forms.
FAQ
Why do my GA4 and Meta conversion numbers differ from Shopify orders?
They use different attribution models, time windows and counting methods. Each ad platform claims the conversions from clicks and views inside its own window, so one order can be claimed by several platforms, and modelled conversions fill in where the real signal is missing. Shopify counts only real orders, so treat it as the source of truth and compare each ad platform only with itself.
Should I trust Shopify's native analytics or the platform pixels more?
Trust Shopify's analytics for total business performance: orders, revenue and AOV. Use platform pixels such as Meta and Google Ads for optimisation decisions inside each platform, since they tell the platform what to optimise toward. Don't expect the two to match, and reconcile them only at a high level, such as overall return on ad spend, not conversion by conversion.
How do I track conversions across multiple Shopify sales channels?
Shopify reports orders by sales channel, such as Online Store, POS and Facebook & Instagram, in Analytics → Reports. For unified attribution across channels you need a third-party tool such as Triple Whale or Northbeam that pulls in data from every source. For most stores running two or three channels, Shopify's own reports are enough.
Will iOS privacy changes affect my Shopify conversion tracking?
Yes. Apple's App Tracking Transparency, introduced in iOS 14.5, noticeably reduced Meta's signal accuracy and affected Google to a lesser degree. Customer events pixels run in a sandbox in the browser, so they are affected too. The server-side part is the Meta Conversions API, which Shopify's Facebook & Instagram app sends automatically and which recovers some of the lost signal.
Can I track conversions before the purchase, such as add to cart?
Yes, as micro-conversions. Customer events include product_added_to_cart and checkout_started, which you can send to Meta and Google Ads as custom events so they optimise toward earlier signals. This helps when purchase volume is too low for ad platforms to optimise on directly.