| Requirement | Verdict | Evidence |
|---|---|---|
| covers_all_sources The audit addresses all supplied artifacts: the campaign links, the GTM/GA4 tag configuration, and the consent setup (a clean-bill mention counts as addressing an artifact). | ✓ | The report addresses campaign links, GTM/GA4 tags, and consent setup, including clean-bill mentions for each (e.g., Tag 1, Tag 5, Consent Mode non-EEA defaults, and multiple link groups). |
| findings_located Each reported defect names its specific location — the exact link/channel, tag, trigger, or setting — precisely enough that an engineer could act without re-deriving the audit. | ✓ | Each finding cites an exact link number/channel or GTM tag/trigger (e.g., 'GTM Tag 3 (#place-order-btn)', 'Link #8 (meta-retargeting)') precise enough to act on. |
| finds_uppercase_medium Flags the uppercase utm_medium=CPC values on the two google-search links as violating the lowercase standard and fragmenting paid-search reporting. | ✓ | Finding 7 flags Links #1 and #2 (google-search) for uppercase utm_medium=CPC violating the lowercase standard and splitting paid search. |
| finds_uppercase_medium_pmax Also flags the google-pmax link's uppercase utm_medium=CPC (the same defect on the Performance Max campaign, not only on the search campaigns). | ✓ | Finding 7 also lists Link #3 (google-pmax) with the same uppercase utm_medium=CPC defect. |
| finds_missing_source Flags the klaviyo-welcome link as missing utm_source entirely. | ✓ | Finding 6 flags Link #14 (klaviyo-welcome) as missing utm_source entirely. |
| finds_meta_source_inconsistency Flags that some Meta links use utm_source=facebook while the standard (and other links) use utm_source=meta, splitting Meta reporting. | ✓ | Finding 10 flags Links #5 and #7 using utm_source=facebook instead of the standardized 'meta', splitting Meta reporting. |
| finds_campaign_spaces Flags the meta-summer link's utm_campaign value ('2026q3 summer sale') for containing spaces / violating the hyphenated campaign format. | ✓ | Finding 11 flags Link #9 (meta-summer)'s '2026q3 summer sale' campaign value for containing spaces. |
| finds_duplicate_purchase_firing Identifies that purchase fires from two live tags (the confirmation-page tag and the place-order button-click tag), double-counting purchases, and connects this to GA4 reporting far more purchases than Shopify. | ✓ | Finding 1 identifies Tag 3 (click trigger) firing purchase alongside Tag 2 (confirmation page), causing double counting and linking it to the 512 vs 284 discrepancy. |
| finds_missing_transaction_id Identifies that the GA4 purchase tags omit the transaction_id parameter required by the standards, so duplicate purchase events cannot be deduplicated. | ✓ | Finding 1 states Tag 3 'completely omits transaction_id' and Finding 2's fix adds transaction_id to Tag 2 for deduplication, addressing the missing parameter across purchase tags. |
| finds_hardcoded_currency Identifies that purchase currency is hardcoded to USD while the ca. storefront transacts in CAD, and connects this to the inflated Canadian revenue. | ✓ | Finding 3 identifies hardcoded currency:'USD' on Tags 2, 3, 6 and ties it directly to the ~33% inflated Canadian revenue via FX conversion. |
| finds_consent_default Identifies that analytics_storage defaults to granted for EEA/UK visitors, violating the documented Consent Mode defaults, and connects this to the legal/privacy finding. | ✓ | Finding 4 identifies EEA/UK analytics_storage defaulting to 'granted' instead of 'denied', linking it to the legal/privacy flag. |
| finds_http_links Flags the two http:// newsletter links as violating the https standard and ties them to newsletter traffic landing in Direct (attribution loss on the redirect). | ✓ | Finding 5 flags Links #12 and #13's http:// protocol and ties the redirect-based parameter stripping to newsletter sessions appearing as Direct. |
| finds_event_name_casing Flags the 'Add to Cart' event name (spaces, not snake_case) as violating the naming standard and explains the add-to-cart reporting going quiet after the rename. | ✓ | Finding 8 flags Tag 4's 'Add to Cart' event name violating snake_case and explains the resulting reporting drop after the theme migration. |
| finds_duplicate_campaign_param Flags the cart-recovery link carrying utm_campaign twice with different values, and ties it to the cart-recovery campaign appearing under two names. | ✓ | Finding 9 flags Link #8 carrying utm_campaign twice with different values and ties it to the cart-recovery campaign appearing under two names. |
| finds_pending_page_regex Identifies that the purchase trigger RegEx ^/order-confirmation also matches /order-confirmation-pending, so purchases fire for unsettled payments, and connects this to the payment-outage / revenue-runs-ahead symptoms. | ✓ | Finding 2 identifies the unanchored regex ^/order-confirmation matching /order-confirmation-pending, causing premature purchase firing and linking it to the payment-outage revenue symptom. |
| no_false_positives No conforming item is reported as a defect (for example the google-brand link, the begin_checkout tag, the TikTok/Pinterest/affiliate links, or the ca-storefront links' UTMs). Describing a correct item as clean is fine; flagging it as broken is not. | ✓ | All clean items listed (Tag 1, Tag 5, non-EEA consent defaults, ca-storefront links, TikTok, affiliate, google-brand, Klaviyo winback, Instagram) are genuinely conforming per the standards, and the extra Finding 12 (organic-pinterest campaign format) reflects a real deviation from the three-segment campaign convention rather than a false flag. |
| fix_per_finding Every reported defect comes with a concrete, implementable fix (what to change, not 'review this'). | ✓ | Every one of the 12 findings includes an explicit 'Concrete Fix' section with exact parameter/URL changes. |
| impact_prioritized Findings are ordered or explicitly tiered by measurement/compliance impact, with the purchase-integrity and consent issues ranked above cosmetic UTM issues. | ✓ | Findings are explicitly tiered (Critical/High/Medium/Low) with duplicate purchase firing and consent issues ranked above cosmetic UTM defects like spacing and source casing. |