Tracking Audit & Reconciliation
A full event inventory across GA4, Meta, Google Ads, Klaviyo and Shopify, reconciled against order data to quantify exactly where and how much data is lost.
Measurement rebuilt for Madrid brands whose numbers have to survive consent banners, multiple currencies and tax-inclusive pricing.
Delivered remotely for brands across Madrid and Spain.
Spanish ecommerce reporting has a distortion built into it that most dashboards never account for. Prices are displayed and transacted with IVA included, so unless the revenue passed to your analytics and ad platforms is explicitly net of tax, every ROAS and target you set is calculated on a number that includes money you owe the state. It is not a rounding error — it is a consistent overstatement across every channel, and it quietly makes unprofitable spend look acceptable.
The second distortion is consent. Spain enforces cookie and consent expectations firmly, and a compliant banner in which refusing is as easy as accepting will lose you a meaningful share of client-side measurement. That is the correct outcome legally and a real problem practically, which is why consent mode v2 wired properly to your CMP, with modelled conversions and server-side collection behind it, matters more here than in a market with a laxer banner culture. The alternative is not more data, it is a compliance problem.
The third is multi-currency and multi-market. Once Shopify Markets is running a Spanish market, an EU market and an export market, revenue arrives in several currencies with different tax treatments and different shipping costs. A single blended MER across all of that tells you very little. We build reporting that reconciles to Shopify's own numbers, splits by market and reports contribution margin rather than gross revenue, so a market that only looks profitable before duties and returns stops hiding inside the average.
Almost every measurement argument we walk into in a Spanish account traces back to one of three things, and none of them are attribution models. First, tax: revenue reported gross of IVA to Google and Meta, making blended targets systematically wrong. Second, consent: a properly compliant banner suppressing client-side tags, so GA4 undercounts, Meta undercounts differently, and the gap between them gets blamed on the platforms. Third, market mix: a store selling into several countries reporting one blended figure, so the domestic market subsidises an export market whose shipping and returns nobody has costed. We fix them in that order, because attribution work sitting on top of gross-of-tax revenue and a broken consent implementation just gives you a more sophisticated wrong answer. Once server-side collection is running through a first-party subdomain with consent respected, Conversions API restoring the signal that the banner legitimately removed, and net revenue flowing through, the numbers start agreeing with each other and the weekly meeting stops being about the data.
The same standard of work we run for every client — applied to a Madrid brand’s realities.
Full service detailA full event inventory across GA4, Meta, Google Ads, Klaviyo and Shopify, reconciled against order data to quantify exactly where and how much data is lost.
Server-side GTM on a first-party subdomain, resilient to ad blockers and ITP, with deduplication between browser and server events done properly.
Meta CAPI, Google Enhanced Conversions and TikTok Events API with hashed identifiers, targeting event match quality of 8 or above.
A documented, consistent eCommerce event and parameter specification across every surface, so reports mean the same thing in six months as they do today.
Consent mode v2 wired to your CMP with modelled conversions, plus Shopify's customer privacy API and regional compliance handled correctly.
One dashboard for blended MER, contribution margin, cohort LTV, new-versus-returning revenue and channel payback. Reconciled to Shopify, refreshed daily.
We do not work off a rate card. Every Madrid engagement starts with a fixed statement of work — named deliverables, named dates, one number — written after we have looked at your store, not before. If a smaller first step would serve you better, we will say so.
Get this scopedWe measure the gap between platform-reported and actual orders per channel. Most stores we audit are losing 15-30% of conversion signal before we start.
A written measurement plan: events, parameters, identifiers, consent states and destinations. Signed off before implementation begins.
Server-side container, CAPI, enhanced conversions and consent mode built in a staging environment and validated event by event.
Order-level reconciliation against Shopify for a full week, plus match-quality checks in each platform. We do not sign off on a screenshot of a tag firing.
Dashboards built, team trained, and monitoring in place to alert on event volume anomalies before someone spots them in a monthly report.
Anonymised under NDA. Figures pulled from the client’s own analytics.
~$9M/yr, 210 SKUs, US + AU · Shopify Plus (migrated from BigCommerce)
Meta ROAS had slid from 3.6x to 1.9x in a year and the team had spent twelve months buying new creative to fix it. The real cause was measurement: the BigCommerce checkout dropped 22% of purchase events and the Conversions API had never been installed, so both ad platforms were optimising on incomplete data. The named constraint: peak season was 14 weeks out, and the replatform had to be live and stable well before Black Friday traffic arrived.
“Paid audit, and worth every dollar. Forty pages on where our measurement was lying to us — duplicate purchase events, CAPI never configured, GA4 and Shopify off by 14% — each one ranked by the revenue it was hiding. No pitch deck at the end. We fixed six of the items ourselves before we ever signed a retainer.”
Thirty minutes with the strategist who would actually run your account. We screen-share your store, read your data live, and tell you the three highest-value things we can see from the outside.
Prefer to write it out? [email protected] gets a real reply the same business day, Mon-Fri, 9am-6pm MT.