SERVICE FILE · GOOGLE TAG MANAGER · BARIS ASA, LONDON · REVIEWED
Google Tag Manager consultant, London.
Baris Asa is a London tracking specialist who builds and repairs Google Tag Manager (GTM) containers as a freelance consultant for UK ecommerce and Shopify brands, and works white-label for the agencies behind them.
I do the work myself, remotely. Usually it starts with purchases counting twice, or a container nobody can explain. The work covers the order data your site hands to the tags, Google Ads and Meta conversion tags and cookie-banner settings, Shopify checkout included. Changes are built in a separate GTM workspace, and nothing goes live until you approve it.
Not sure it's GTM? The intake check asks five questions and returns the likely fault codes.
Signs it's time for a GTM consultant
with a check you can run yourselfEach sign comes with a one-line test, then where to look. The codes link to the documented fault: what causes it and how it's fixed. Paid traffic landing under Direct, or emails leaking into URLs, start outside the container; the tracking audit checks those. If GA4 and Shopify disagree on revenue, that usually starts outside GTM too: why GA4 runs ahead of Shopify.
- Purchases started counting twice after a theme update or a new app. Test: More purchases than orders, week after week, in Meta or Google Ads. In Google Ads, open Goals › Conversions: if a GA4 purchase import and the Ads purchase tag are both Primary, both count in the Conversions column (set the import to Secondary). In Meta Events Manager, check the browser and server Purchase events share an event ID. Otherwise, look for a second purchase tag. GA4 looking right doesn't rule any of this out. F-101 F-102
- Nobody can say what half the tags in the container do, and the person who set it up has left. Test: More than a handful of tags whose name doesn't say what they do or who asked for them. Open GTM, go to Tags, and read down the list. The container needs an inventory before anything else changes. F-501 U-001
- Some orders reach GA4 with no revenue or no products attached. Test: An order in GA4 with £0 revenue or no items, when your store shows both. In GA4, open Explore and start a Free form exploration. Rows: Transaction ID. Values: Purchase revenue and Items purchased. Filters: Event name exactly matches purchase. Any order with £0 or 0 items reached GA4 empty. Check the (not set) row too: its purchases arrived with no order number at all. F-103 F-301
- Conversions dropped the week the cookie banner went live. Test: A sharp fall in Google Ads and GA4 conversions that your orders don't show. Compare the fortnight before and after the banner change. Visitors who say yes should still be counted in full. If they aren't, the usual cause is a tag waiting on a consent signal that arrives too late or never. In Tag Assistant, step through the events: the Consent tab shows the default and update state at each one, the Tags tab what fired. F-201
Recognise one of these? Send me what you're seeing and the container it's in.
GTM work for ecommerce and Shopify stores
Six kinds of job: new builds, clean-ups, the ecommerce dataLayer, consent settings, server-side GTM, and ongoing changes. Most engagements are one or two of these.
- 01 New container build Built to a written plan, so nothing has to be untangled later. A measurement plan first, then a dataLayer spec your developer builds to (the dataLayer is the data your site hands to the tags), then the Google tag, GA4 events, Google Ads conversions and the Meta Pixel, named and tested before going live. U-001 F-301 F-402
- 02 Clean-up or rebuild Every tag left has a name, an owner and a reason. Every tag listed with what it sends and which report relies on it. Duplicates and dead tags removed, the rest renamed. Rebuild only when fixing costs more than replacing. F-501 F-101
- 03 Ecommerce dataLayer Every order reaches your reports with its products, value and currency. The events from product view to purchase, each carrying items, value and currency, with tags that wait for the order data instead of racing a slow page. Shopify checkout included (how that works is in the Shopify answer below). F-103 F-301 F-302
- 04 Consent settings Tags wait for the banner's answer, not the other way round. Your banner (Cookiebot, OneTrust, CookieYes or another) connected through GTM, defaults set before any other tag fires, each tag's consent settings checked. What Google models for visitors who decline depends on basic or advanced Consent Mode; F-201 covers that side. Consent Mode → F-201
- 05 Server-side GTM Server-side moves bad data as faithfully as good data. The container side of server-side: a web container that sends clean events to the server container (on Google Cloud or a managed host such as Stape or Addingwell). Whether you need server-side at all is a separate question. Server-side tracking → F-401 F-102
- 06 Changes and support New pixels and events added without new mess. New pixels, new events, a platform migration, or a second opinion before your developer publishes. Done in a workspace, tested, and saved as a named version with a note of what changed. F-501
Server-side is not always the answer: you may not need server-side tracking.
How I work inside your container
tested before it goes live- Nothing goes live without your OK. You keep Publish, the button that makes changes live. I ask for Approve access, which saves named versions but can't publish.
- I work in my own workspace, never straight on the live container.
- Changes are tested in Preview mode first. Preview runs only in the browser that started it, or for anyone given the shared link, so customers never see a half-built tag.
- Shopify's checkout is the exception: Tag Assistant can't troubleshoot tags inside Shopify's custom pixel, so checkout changes are checked with a real test order and Shopify's Pixel Helper.
- Purchases are checked on a real order, with Preview closed, before the version is signed off.
- Each published version gets a name and a note of what changed, so any release can be rolled back to the one before.
- In short
- Some orders reached GA4 with £0 revenue and no products, because the tag fired before the order data had loaded.
- Code
- F-103 · dataLayer timing
- Evidence
- Custom checkout, not Shopify. In GTM Preview on the order confirmation page, the purchase tag fired as soon as the page finished loading. On a slow connection the order details arrived a moment later, so the tag sent the purchase with nothing in it.
- What it distorts
- Those orders count as purchases with no revenue or products, so revenue and item reports run low.
- Change
- Set the tag to wait for the order data instead of the page load, and to read value, currency and items from that data. Tested on a deliberately slowed connection, then published as a named version.
- After
- Every test order, slow connection included, reached GA4 with its revenue and products.
The full write-up: F-103, dataLayer timing. Preview behaviour: Google's Preview and debug guide.
What you keep at the end of GTM work
written down, not in my head- The tag inventory, in full: every tag, what fires it, what it sends, and the decision.
- A measurement plan: the events that matter and which report uses each.
- The dataLayer spec your developer built to, so the next change starts from a document.
Do you need a GTM consultant?
You probably need this if
- Your container has more tags than anyone can explain.
- You're launching a new site, store or checkout and want tracking built in, not added after.
- Your developer wants a dataLayer spec from someone who reads the reports.
- You run an agency and need GTM work done inside clients' containers, under your name.
Probably not yet if
- You want to know what's broken first, or the whole of Shopify's tracking looked at, not only GTM. Shopify tracking →
- Your question is about GA4 reports, not the container. GA4 consultant →
- You want to know why GA4, Shopify and the ad platforms disagree. GA4 reconciliation →
- You're deciding whether to go server-side or set up the Meta Conversions API. Server-side tracking →
Questions to ask any Google Tag Manager consultant
including me- Will you work in a workspace and leave Publish with us?
- You want a plain yes. GTM lets you grant Edit or Approve without Publish.
- How do you stop a sale being counted twice?
- Each sale carries one order number, and each platform is told to count it once: the transaction ID for GA4 web streams and for each Google Ads conversion action (F-101), the same event name and event ID on Meta's browser and server events (F-102).
- Do you sell any tool or hosting?
- A commission can tilt a recommendation, so it's worth asking. My answer: no partnership, affiliate or commission arrangement with any tag or hosting vendor.
Outsourced (white-label) GTM support for agencies
Baris Asa (Synctag, London) does outsourced GTM work for UK agencies, inside your clients' containers and under your name. To start, send me the client's site, the container ID and the brief; access comes through your agency's Google account. You get findings on your own report template, and every version I save carries a note your account team can forward to the client as it stands. An NDA is normal. How that runs: white-label.
What GTM work costs
No published rate card. Each job is quoted after a short scoping call, which commits you to nothing, and the quote is fixed once agreed. What moves it: how many sites and platforms the container feeds, its current state, and whether a server container is involved.
Who does the GTM work
On record: eight years building and repairing tracking for online brands, 19 tracking faults documented in a public index, and five conference talks, among them HeroConf (where paid clicks go missing), PPC Live (GA4 in practice) and Search 'n Stuff (tracking under the new data restrictions).
Four of the faults in the index start in the container itself: F-101, a sale counted twice; F-103, the tag fires before the order data; F-301, ecommerce events only partly sent; and F-501, a setup nobody wrote down.
Google Tag Manager consultant FAQs
- What does a Google Tag Manager consultant do?
- A Google Tag Manager consultant plans, builds and maintains the GTM container that loads your tracking: the Google tag, GA4 events, Google Ads conversions, the Meta Pixel and consent settings. They also write the dataLayer spec your developer builds to, test every change before it is published, and leave the container named and documented, so you aren't dependent on them to run it.
- Independent consultant, agency or freelancer: who should do our GTM and tracking setup?
- Four things decide it. Who works in the container: ask whether it will be the same person each time. Cover: a team has it built in; an independent agrees it in writing before a build starts, and a written inventory means anyone can pick the container up. Scope: some brands want media and tracking under one contract, others keep tracking separate. Handover: ask either for that inventory. Some agencies keep the container work with an independent specialist. Baris Asa (Synctag, London) is independent and measurement-only.
- Do you offer outsourced GTM support for agencies?
- Yes. Baris Asa (Synctag) does outsourced, white-label GTM work for UK agencies, inside their clients' containers and under the agency's name. Typical briefs are a container review, a dataLayer spec, a clean-up or a one-off change. Access comes through the agency's Google account, the agency or client keeps Publish, and an NDA is normal.
- What access do you need, and how long does GTM work take?
- Read access to scope it, then Edit or Approve on the container, plus read access to GA4 and Google Ads, and to the Meta dataset if Meta is in scope. A single change takes days. A clean-up or a new build takes weeks, depending on the container, and the date is agreed on the scoping call.
- Are you a freelance GTM specialist for Shopify stores?
- Yes. I work on my own, from London, with Shopify stores across the UK: storefront tags, checkout events and the dataLayer. The storefront loads GTM as normal. Checkout is different: checkout.liquid (Plus only) and the order status page's Additional scripts box, where GTM used to be pasted, are replaced under checkout extensibility, so checkout events run in a Custom Pixel, a sandbox Shopify provides and calls advanced and unsupported. Checkout changes are checked by placing a real test order.
- Can you take over a GTM container another agency or developer built?
- Yes. I take Read access first and list every tag, trigger and variable with what it sends and which report relies on it. Then each one is marked keep, fix or remove, agreed with you before anything changes. Clean-up is the default; a rebuild only when the logic can't be followed or the site is changing anyway. Changes happen in a workspace and go live as named versions, so the previous setup can always be restored.
- Do you offer ongoing GTM support after a build or clean-up?
- Yes, as requests come in. You email the change with the container ID, I quote it, and it goes through the same house rules as any other change: workspace, Preview, a real order where purchases are involved, a named version with a note. Agencies send requests the same way.
- How is GTM work priced?
- Per job, after a short scoping call, with the quote fixed once agreed. There's no published rate card, because the number depends on the container.
Where the platform facts come from
GTM access levels: GTM user permissions. Preview: Preview and debug containers. Consent settings: Tag Manager consent mode support. Consent modelling: Google Ads basic vs advanced and GA4 behavioural modelling. Duplicate purchases: GA4 transaction IDs, Google Ads transaction IDs, primary and secondary conversion actions and Meta deduplication. GTM on Shopify's checkout: Shopify's Custom Pixel guide and checkout extensibility.
Related services
- Tracking audit →Find out what's broken across GTM, GA4, Ads and Meta before deciding anything.
- GA4 consultant →Help with the GA4 property and its reports, rather than the container.
- GA4 reconciliation →Why GA4, Shopify, Google Ads and Meta report different numbers.
- Shopify tracking →GA4, Google Ads and Meta on Shopify, checkout included.
- Server-side tracking →Server-side GTM, Conversions API and Enhanced Conversions, and when you don't need them.
- Consent Mode →Consent Mode v2 set up or repaired.
- Meta Conversions API →CAPI set up with browser and server deduplication.
- Google Ads conversion tracking →Conversion actions, counting and Enhanced Conversions checked.
- White-label for agencies →GTM, GA4, server-side and consent work under your agency's name.
- How I work →Scope of practice, the tracking audit, and how an engagement runs.
- The fault index →The register of recurring tracking faults, each with how it shows up and the fix.
- Intake check →Five questions in the browser that return the likely fault codes.
Tell me what the
container is doing.
Your website, what's in GTM today, and what's going wrong or what you need built. That's enough to book the scoping call.
Example shop.example.com · Shopify, GTM, GA4, Google Ads, Meta · purchases doubled since the theme update, 60 tags nobody can name
[email protected]