All articles
    Analytics & Tracking

    How to Audit Your Conversion Tracking in 30 Minutes

    Digital Jutsu Team July 6, 2026 8 min read
    How to Audit Your Conversion Tracking in 30 Minutes

    You are paying for clicks with real money, and somewhere between the ad click and the confirmation page, a number is wrong. Maybe Google Ads reports 40 conversions this week while Shopify shows 31 orders. Maybe your Meta return on ad spend looks incredible and you cannot understand why revenue is flat. Maybe half your purchases never show up in GA4 at all. These are not reporting quirks. They are the difference between an ad platform's algorithm optimizing toward your best customers and it optimizing toward noise.

    The frustrating part is that broken tracking is invisible from the dashboard. Everything looks fine until you sit down, place one real order, and watch where it goes. This guide walks you through that exact process. You can run the core checks in about 30 minutes with a test purchase and a few free browser tools. At the end we are honest about where the do it yourself version stops and why the paid audit exists.

    Start with one test order and watch GA4 DebugView

    The single most useful thing you can do is buy something from your own store and follow the purchase through every system in real time. Use a real product and a real card. Discount it to a dollar with a private coupon if you need to, but complete an actual checkout, because test mode and real checkout often run different code paths.

    Before you buy, open GA4 and turn on debug for your session. The cleanest way is to install the Google Analytics Debugger browser extension, or add a debug parameter through Google Tag Manager. Then open GA4, go to Admin, and open DebugView. Complete the purchase in another tab and watch the event stream. You are looking for a single purchase event to appear. Click it and confirm the parameters: value should match the order total, currency should be correct, transaction_id should be present and unique, and the items array should list what you bought. A purchase event with no transaction_id is a real problem, because that field is what GA4 uses to deduplicate, and without it repeated pageviews on the thank you page can log the sale more than once.

    Confirm Meta fires exactly one Purchase

    Next, check Meta. Install the Meta Pixel Helper extension in Chrome and reload your confirmation page. It shows every event the Pixel fired on that page. You want to see one Purchase standard event, not two, with a value and currency attached.

    Then open Meta Events Manager, select your data source, and go to Test Events. Reproduce the purchase or use the browser test tool. Watch for the Purchase event to arrive and inspect its value, currency, and content parameters. The most common failure here is double counting. If you run both the browser Pixel and the Meta Conversions API, both send a Purchase, and unless they share a matching event_id and event_name, Meta counts the sale twice. Test Events will flag deduplicated pairs, so this is where you confirm your server and browser events are actually being matched. We cover this specific failure in detail in why your Meta Pixel Purchase event is double firing.

    Verify the Google Ads conversion actually records

    A Meta and GA4 purchase that looks perfect tells you nothing about Google Ads, which has its own separate conversion tracking. Open Google Tag Assistant, connect to your domain, and run the purchase again. Tag Assistant shows the Google Ads conversion tag firing and lets you inspect the conversion label and value it sends.

    Then confirm the conversion lands in the account. In Google Ads, open Goals, then Conversions, and find the relevant conversion action. New conversions can take a few hours to appear, so do not panic if it is not instant, but within a day you should see your test recorded once with the right value. While you are here, note whether you are using Enhanced Conversions. Enhanced Conversions send hashed first party data such as email so Google can recover attribution that cookies lose, and Tag Assistant will show whether the hashed user data is being passed. If it is configured but sending nothing, you are leaving recoverable conversions on the table.

    Open GTM Preview and hunt for duplicate tags

    Most tracking chaos traces back to tags that fire more than they should. Open Google Tag Manager, click Preview, and connect to your site. Walk through a full purchase inside Preview mode and read the Tags Fired panel on the confirmation page.

    The pattern to look for: the same conversion tag firing on multiple triggers, or a legacy hardcoded pixel in your theme firing alongside a GTM tag doing the same job. A very common situation is a store that has both an old Pixel pasted directly into the theme and a newer one managed in GTM, so every purchase counts twice. Preview mode makes this obvious because you see both tags in the list. Note anything firing on All Pages that should only fire on the confirmation step, and anything firing twice.

    Reconcile one full day across every platform

    Live testing proves the plumbing works for one order. Reconciliation proves it works at scale. Pick a normal day from last week and pull the purchase count and total revenue from each system for that exact date range in your reporting time zone.

    What to checkToolWhat good looks likeWhat broken looks like
    GA4 purchase eventGA4 DebugViewOne purchase per order, with value, currency, transaction_idMissing event, or duplicate purchases sharing a transaction_id
    Meta Purchase eventPixel Helper and Test EventsExactly one Purchase, deduplicated across Pixel and CAPITwo Purchase events, or a value that does not match the order
    Google Ads conversionTag Assistant and Conversions reportOne conversion recorded with correct label and valueNo conversion, wrong value, or the same order counted twice
    Duplicate tagsGTM Preview modeEach conversion tag fires once on the confirmation stepSame tag on multiple triggers, or a hardcoded theme pixel too
    Value and currencyDebugView and Events ManagerMatches the order total in the right currencyZero value, price without tax, or a currency mismatch
    Transaction idGA4 event parametersUnique id present on every purchaseMissing id, so repeat pageviews inflate counts
    Consent signalsTag Assistant consent viewad_storage and analytics_storage reflect real choicesTags blocked by default, or consent never updates
    Daily totalsShopify vs GA4 vs Meta vs AdsPlatforms within a small, explainable rangeA large unexplained gap in either direction

    Perfect agreement is not the goal and is not realistic. GA4 will usually report a bit fewer purchases than Shopify because of ad blockers, declined consent, and cross device gaps. A shortfall in the range of 10 to 15 percent is often normal attribution loss. What you are hunting for is a large gap, a platform reporting more sales than actually happened, or a value total that is wildly off. Any of those means a tag is misfiring, and the full broken tracking audit guide walks through how to interpret specific gap patterns.

    If you serve users in regions with consent requirements, Consent Mode v2 controls whether your tags may use cookies and first party data. It manages four signals: ad_storage, analytics_storage, ad_user_data, and ad_personalization. When a signal is denied, Google's tags switch to sending cookieless pings instead of full conversions.

    Use Tag Assistant to inspect the consent state as you browse and after you accept or decline in your banner. The failure to catch is a consent setup that defaults everything to denied and never updates when a user accepts, which silently starves your conversions. On Shopify this area is changing fast. The old checkout.liquid and additional-scripts customizations are deprecated in favor of checkout extensibility, so tracking that once lived in checkout scripts now belongs in the Customer Events settings using the Web Pixels API. If your consent and conversion logic still assumes the old checkout, that is a migration you need to finish before it breaks entirely.

    Where the 30 minute version stops

    The walkthrough above is genuinely valuable, and if every check passed, your core tracking is in good shape. But being honest about the limits: doing this correctly needs real access to GTM, GA4, Meta Events Manager, Google Ads, and your Shopify admin, plus the technical fluency to read what each tool shows and tell a real bug apart from normal attribution loss. It also only covers purchases. A complete audit checks lead events, add to cart, server side setup, deduplication across every campaign, and the value passed to each platform's optimization.

    That is deliberate, careful work, and it is easy to convince yourself tracking is fine when it is quietly wrong in a way a quick look misses. If you would rather have someone verify every event, every value, and every consent signal and hand you a fix list, that is exactly what our conversion tracking repair service does.

    Find out what your tracking is hiding

    You cannot optimize what you cannot measure, and right now you may be paying to teach ad algorithms with numbers you have never verified. Run the 30 minute checklist this week. If anything looks off, or if you want a second set of eyes to confirm every conversion fires exactly once with the right value, our team runs a full technical audit and gives you a prioritized list of what to fix. Start with conversion tracking repair and stop guessing whether your data is real.

    FAQ

    How do I know if my conversion tracking is broken?

    Place one real test order and watch it land in each platform. If GA4, Meta Events Manager, and Google Ads each record exactly one purchase with the correct value and currency, your tracking is probably healthy. If a purchase is missing, fires twice, or reports the wrong number, you have a tracking problem that is quietly costing you money.

    How long does a conversion tracking audit take?

    A focused technical person can run the core checks in about 30 minutes: one test purchase watched live in GA4 DebugView, Meta Test Events, and Google Ads Tag Assistant, plus a one day reconciliation across platforms. A thorough audit that inspects consent mode, server side events, and deduplication across every campaign type usually takes several hours because it requires real account access and careful comparison.

    Why do my Shopify sales not match Google Analytics?

    Some gap is normal because GA4 drops sessions to ad blockers, consent declines, and cross device journeys, so GA4 typically reports fewer purchases than Shopify. A gap under roughly 10 to 15 percent is usually attribution loss you cannot fully recover. A gap much larger than that, or GA4 reporting more purchases than Shopify, points to a real bug like a missing or double firing tag.

    What is event deduplication and why does it matter?

    Deduplication is how a platform recognizes that a browser event and a server event describe the same conversion so it counts them once. For Meta you send a shared event_id plus the same event_name from both the Pixel and the Conversions API. Without it, running both sources double counts every purchase and inflates your reported return on ad spend.

    Get the next one in your inbox

    No spam. One insight every other week.

    Want us to run the playbook for you?

    Book a free 15-minute strategy call. We'll pull up your site and map the exact next moves.

    Get Your Free Growth Audit