
“It works, but I don't know why” is the most expensive sentence in digital marketing. The second most expensive is “it doesn't work, and I don't know why.” Both have the same cause — missing or badly deployed measurement.
Without a measurement stack you can't optimise. Without optimisation you can't scale. And without scaling you'll stay at hobby-project level forever. This isn't ideology, it's maths. In e-commerce, the Pareto principle (80/20) typically means that a small minority of campaigns generates most of the revenue, while all the rest merely dilute your ROAS. Without measurement you'll never find that minority, and you'll pour budget indiscriminately into the campaigns that make money and the ones that lose it alike.
Let's walk through the whole stack step by step — what to deploy, in what order, and what to watch out for.
The stack you must have before launch
Tool | What it's for | Cost |
Google Tag Manager (GTM) | Container for all your codes | Free |
Cookie bar + Consent Mode | GDPR + connection to GTM | Free (Shoptet) |
Google Analytics 4 (GA4) | Analytics, e-commerce tracking | Free |
Meta Pixel + Conversion API | Tracking for Facebook/Instagram Ads | Free |
Microsoft Clarity | Heatmaps and session recordings | Free |
Google Merchant Center | Product feed for Google Shopping | Free |
Google Ads conversions | Measuring Google Ads performance | Free |
Sklik conversion code | Measuring Sklik campaign performance | Free |
All free. You have no excuse not to have it.
Step 1: Google Tag Manager (DEPLOY THIS FIRST)
GTM is a container for all your other codes. Instead of digging through your Shoptet template and pasting in 8 different codes by hand, you insert one GTM code and manage everything else from a web interface.
Why deploy GTM first
- One code instead of ten — less clutter in your template. This matters more than it sounds: every extra script in the page header slows down loading, and both Google Search Central and Google's internal studies repeatedly document that every additional second of load time cuts the conversion rate by a few percentage points. Less code = a faster page = more orders.
- No dependency on a developer — you click everything in the interface.
- GTM Preview — you test tags before publishing.
- Consent Mode integration — codes fire only after consent (GDPR compliance).
- Server-Side GTM (premium) — codes run on your own server, better data protection, higher measurement accuracy for iOS users.
How to deploy it
- Create a GTM account at tagmanager.google.com.
- Create a new container — type Web, name = your store's domain.
- Copy the GTM ID (format GTM-XXXXXXX).
- In Shoptet, go to Connections → Google (Shoptet has a dedicated tab for its Google integration), find the Google Tag Manager field and paste the ID there.
- Once connected, Shoptet automatically inserts the GTM code into your pages.
- Open GTM and publish the empty container (button in the top right).
⚠ Until you publish the container, GTM does nothing! A very common beginner mistake: they deploy the ID, create tags, but never click “Publish.”
Step 2: Cookie bar and Consent Mode
⚠ This MUST be deployed BEFORE your measurement codes. If you deploy GA4 and the Meta Pixel before the cookie bar with Consent Mode, you're breaking GDPR and risk a fine from the ÚOOÚ (the Czech data-protection authority).
The path in Shoptet: `Settings → Basic settings → Cookies`
- Choose “Legal wording” (NOT “Informational”).
- Enable the consent categories:
- Necessary (always active)
- Analytics (GA4, Clarity)
- Marketing (Meta Pixel, Google Ads, Sklik)
- Enable Google Consent Mode — Shoptet supports it natively.
- Consent renewal — usually a few months (configurable in the bar's settings).
- Bar placement and the option to change consent from the footer — enable the footer settings option.
What the cookie bar must meet (a legal requirement)
- A “Reject all” button that is just as visible as “Accept all.”
- No pre-ticked consents (categories off by default).
- Granular consent — the user can select only some categories.
- The option to change it at any time via the footer.
- No measurement codes fire before consent is given.
These rules aren't arbitrary. They're backed by the research on default bias described by Richard Thaler and Cass Sunstein in Nudge (2008). The classic example: in Germany, where organ donation is opt-in, 12% of the population are donors. In Austria, where it's opt-out, over 99% are. Same people, different default, a dramatic difference. Pre-ticked consents are an equally powerful nudge — which is exactly why the EU banned them. In practical terms, you have to reckon with 30–50% of visitors withholding consent, so your measurement won't cover the whole population. Server-side GTM and the Conversion API partially fill that gap.
(You'll find the full legal side of running an online store in the article Legal obligations for online stores 2025/2026.)
Step 3: Google Analytics 4 (GA4)
GA4 is the de facto standard for web analytics. Universal Analytics is dead, buried and replaced — if someone tries to sell you a “GA setup” and means Universal, run.
How to deploy GA4
- Create an account at analytics.google.com.
- Create a property — Web, name = your domain.
- In Shoptet, go to Connections → Google, open the Analytics tab and click “Connect Google Analytics account.” Sign in with your Google account, pick the property from the “Available accounts” menu and the specific stream from “Available services.” Save.
- On Shoptet Premium you can additionally enable Server-Side GTM (SGTM) — in the same tab, tick “Redirect measurement to SGTM” and enter the URL of your SGTM container. This gives you more accurate measurement in the iOS environment.
- Enable e-commerce tracking (Shoptet has this integration natively; Enhanced E-commerce events are sent automatically).
- Set up conversions in GA4 (Admin → Events → Mark as key event):
- purchase
- add_to_cart
- begin_checkout
- view_item
What to track in GA4
- Traffic — users, sessions, sources.
- Conversion rate (e-commerce conversion rate).
- Average order value (AOV).
- Abandoned carts.
- Best-selling products.
- Engagement — scroll, time on page, clicks.
Custom reports I recommend building
- Acquisition by Source/Medium — where people come from and how much they spend.
- Landing Page Performance — which landing page converts best.
- Funnel: View → Cart → Checkout → Purchase — where people drop off.
The biggest hidden value in GA4 — the one you don't spot at first glance: GA4 is primarily an event-based system, not a pageview system like Universal. Every interaction can be an event. That means you can measure things that used to require custom implementation — scroll, video play, a click on a specific button, use of a filter. And once you know how to read these events, you reach insights that tell you why the funnel breaks where it breaks. It's not just “1,000 came, 12 bought.” It's “1,000 came, 800 viewed a product, 200 added to cart, 150 started checkout, 12 completed. Between checkout and completion you lost 92% of people — that's where the success of the whole store is decided.” And no number will fix that until you pull up Microsoft Clarity recordings and see exactly what those people are doing there.
Step 4: Meta Pixel + Conversion API
The Meta Pixel on its own is no longer enough. iOS 14+ with App Tracking Transparency and smart blockers will, according to estimates from Meta and independent ad agencies alike, cost you a significant share of your data in the iOS environment. The Conversion API (CAPI) sends data straight from the server and fills in what the browser doesn't catch. This isn't an “advanced-users add-on” — it's today's default requirement if you want meaningful attribution.
How to deploy it
- Open Meta Business Manager — business.facebook.com.
- Create a Meta Pixel in Events Manager — new data source, Web, Meta Pixel. You'll get a Pixel ID.
- In Shoptet, go to Connections → Social networks, open the Facebook tab and find the “Facebook Pixel and Conversion API” section. Paste the Pixel ID there.
- Generate an access token for CAPI — in Meta Business Suite: All tools → Events Manager → select your pixel → Settings tab → Conversions API → choose “Set up manually” → Generate access token.
- In Shoptet, paste this token into the same “Facebook Pixel and Conversion API” section. Shoptet automatically deduplicates data between the Pixel and CAPI so events aren't counted twice.
- Verify it works — install the Meta Pixel Helper extension in Chrome and open your store. Events Manager → Test Events to check that both browser and server events are being sent.
Tracked events (all 6 must fire)
- PageView — every page.
- ViewContent — product view.
- AddToCart — adding to cart.
- InitiateCheckout — start of checkout.
- Purchase — completed purchase.
- Search — searching.
A rule that will save you a lot of grief
Test every event through Meta Pixel Helper and through Events Manager → Test Events. If an event is missing or duplicated, you'll catch it before your campaign optimisation starts working by chance. A badly configured pixel is worse than no pixel — Meta's algorithm learns on inaccurate data and optimises your campaigns in a direction that makes no sense. Then it looks like “the ads don't work,” when the real problem is the measurement.
Step 5: Microsoft Clarity (free, an eye-opener)
Clarity is free, unlimited, with no cap and it shows you things GA4 never will — how people actually use your site.
What Clarity shows
- Heatmaps — where people click (and where they don't).
- Session recordings — recordings of real visits (anonymised, GDPR compliant).
- Scroll maps — how far people scroll (and where they stop).
- Rage clicks — frustrated clicking on elements that don't work.
- Dead clicks — clicking on things that look clickable but aren't.
- JavaScript errors — what's breaking.
How to deploy it
- Sign up at clarity.microsoft.com.
- Create a project — name = your domain.
- Copy the tracking code.
- Insert it via GTM (recommended) or directly into Shoptet via custom HTML codes under Settings → Appearance → HTML codes (or a similar section depending on your admin version).
- After a few hours you'll start seeing data.
A rule from experience: On the first day after deploying Clarity, watch 10 random session recordings. You're guaranteed to find at least 3 things you had no idea about — a broken link, a frustrating checkout, an invisible CTA.
Why Clarity works better than GA4 in practice on CRO problems: GA4 tells you what is happening. Clarity shows you why. And that's a world of difference. Eye-tracking studies by the Nielsen Norman Group have long documented that users behave on a website completely differently from what designers assume — they scan in predictable patterns (F-pattern on text pages, Z-pattern on landing pages), click on things that look clickable, and ignore perfectly visible CTAs if they're in the “wrong” part of the page. When you can't afford an eye-tracking study, Clarity is the closest free substitute available. You're observing real behaviour, not hypotheses.
Step 6: Google Merchant Center + Google Ads
Google Merchant Center
Merchant Center is the platform that lets you surface your products in Google search (Shopping results) and in Google Ads.
- Sign up at merchants.google.com.
- Verify and claim your domain — meta tag, a file on the server, or Google Search Console.
- Set up taxes and shipping — for the Czech Republic.
- Product feed — Shoptet automatically generates an XML feed for Google Shopping. You'll find it under Connections → XML feeds under the Google Shopping / Google Merchant item. Take the URL and add it in Merchant Center as a data source with daily updates.
- Google category mapping — Shoptet categories → Google taxonomy (in the product / category detail).
- Check the feed for errors — Merchant Center flags missing EANs, wrong image URLs, incorrect categories.
Google Ads conversions
- Create a Google Ads account — ads.google.com.
- Link it with Merchant Center — Tools & Settings → Linked accounts → Google Merchant Center.
- Set up conversions — Tools → Conversions → New conversion → Import from GA4.
- Remarketing tag — for retargeting campaigns.
- Enable Enhanced Conversions — for better attribution in the iOS environment.
Why Google Shopping deserves priority: In their Elaboration Likelihood Model (1986), Petty and Cacioppo distinguish two routes for processing persuasion — the central route (the customer is motivated, actively weighing things up) and the peripheral route (the customer is passive, deciding based on emotions and heuristics). Google Shopping works brilliantly because it catches the customer on the central route — someone searching for “90×200 latex mattress” has high motivation and is actively comparing. Your product listing in their results is help, not an ad. The ROI of such campaigns tends to be far higher than on social networks, where the customer isn't in active buying mode.
Step 7: Sklik and Seznam.cz tools
In the Czech Republic, Sklik has long held a significant share of the search market — Seznam is still the first choice in some categories (regional services, older audiences, family products). Ignoring it is a mistake.
How to deploy it
- In Shoptet, find the Seznam integration under Connections (Shoptet has a dedicated tab for Seznam — the name may vary by admin version, look for the Seznam / Sklik tab).
- Verify your domain in your Sklik account.
- Install the Sklik conversion code via GTM (recommended) or directly via custom HTML codes in Shoptet.
- Connection to Zboží.cz — you'll find the XML feed automatically generated by Shoptet under Connections → XML feeds.
- Sklik retargeting — to reach your site's visitors across Seznam.
Step 8: XML feeds for price comparison sites
In the Czech Republic, price comparison sites are one of the most important traffic sources for online stores. Heureka, Zboží.cz, Glami and Google Shopping together make up a large share of traffic in some categories — and more importantly, their shoppers arrive already in the decision stage (they're on the central route in ELM terms), so they convert dramatically better than cold traffic from social networks.
The path in Shoptet: `Connections → XML feeds` (and for Heureka also `Connections → Heureka → XML feeds`)
Feeds generated automatically:
- Heureka (heureka.cz) — Basic XML feed and Extended feed
- Zboží.cz — Extended feed
- Google Shopping
- Glami (fashion)
- Facebook catalogue — under Connections → XML feeds → Facebook catalogue
What to check before activating
- EAN codes filled in for all products (mandatory).
- Prices correct, including VAT.
- Stock and availability up to date.
- Google categories mapped (for Google Shopping).
- Images in good resolution and the right format.
Feed management: Mergado
If you have more than 200 products and want to maximise price-comparison performance, take a look at Mergado. We cover it in detail in the article Social media and XML feeds — here just a quick mention, because without an optimised feed the whole measurement stack is half useless.
Step 9: Validating the whole stack before launch
Before you take the store live, test EVERY measurement point. No exceptions.
Validation checklist
GA4:
- [ ] The realtime report shows an active user (open the store in an incognito window)
- [ ] DebugView shows events: page_view, view_item, add_to_cart, begin_checkout, purchase
- [ ] E-commerce data comes through (after a test purchase it appears in Reports → Monetization)
Meta Pixel + CAPI:
- [ ] Meta Pixel Helper (Chrome extension) shows an active pixel on all pages
- [ ] Test Events in Events Manager shows all 6 events
- [ ] CAPI events are being sent (you can tell by “Browser” + “Server” in Events Manager)
GTM:
- [ ] GTM Preview shows tags firing
- [ ] Tags fire only after consent is given (Consent Mode test)
- [ ] No error messages in the browser console
Google Ads:
- [ ] Conversion code active
- [ ] Test conversion went through
- [ ] Merchant Center shows no errors in the feed
Sklik:
- [ ] Sklik conversion code active
- [ ] Test conversion went through
Microsoft Clarity:
- [ ] Sessions are being recorded
- [ ] Heatmaps are being generated
Cookie Consent:
- [ ] Before consent, GA4, the Meta Pixel and other tracking codes don't fire (verify in the Network panel of DevTools)
- [ ] After consent, all codes fire
- [ ] After consent is withdrawn, the codes stop firing again
Common mistakes I see on most new online stores
- GTM deployed but never published — the container is empty, the tags don't work.
- Cookie bar placed after the measurement codes — codes fire without consent = a GDPR breach.
- Meta Pixel without the Conversion API — losing 20–30% of iOS data.
- GA4 with no conversions set up — you see traffic but not the effect.
- No EAN codes in the feeds — the products don't exist on comparison sites.
- No Microsoft Clarity — you're running the store blind, seeing numbers without context.
- No UTM parameters in your marketing campaigns — you don't know which channel brought what.
- Missing Google Merchant Center — you're throwing money at Google Shopping without optimising the feed.
For the advanced: Server-Side GTM
Once your stack starts working and you want to push it to the max, take a look at Server-Side GTM. Instead of the codes running in the customer's browser, they run on your server. The benefits:
- Better measurement accuracy in the iOS environment (Apple ITP won't block it).
- Better data protection — you have full control over what gets sent where.
- A faster store — fewer scripts in the browser.
- Better attribution — fewer lost conversions.
It's not for the very start — server-side GTM carries a monthly cost and requires technical know-how. But once you have a store with revenue in the hundreds of thousands of CZK a month, the ROI is enormous.
The full series: How to start an online store in 2026
This article is part of a seven-part series on starting an online store in 2026. The other parts:
- How to start an online store 2026 — the complete guide
- Shoptet from A to Z — the complete technical setup
- Legal obligations for online stores 2026 — the complete checklist
- E-commerce tracking from scratch — GA4, Meta Pixel, GTM (you're reading this)
- Shipping, payments and logistics for an online store
- Social media and XML feeds for an online store
- Post-launch growth and CRO for an online store
FAQ
Is Google Analytics 4 alone enough for me?
No. GA4 is the foundation, but for an online store that runs ads you also need the Meta Pixel + Conversion API (for Facebook/Instagram ads), Google Merchant Center (for Shopping campaigns), the Sklik tracking code (for the Czech market) and Microsoft Clarity (for user behaviour). Without them, you're optimising your ads in the dark.
What is Consent Mode and do I have to deploy it?
Consent Mode v2 is a Google standard that tells GA4 and Google Ads whether the user has agreed to tracking. Since March 2024 it has been mandatory for European traffic — without it you won't see data in Google Ads and you'll be missing conversions in GA4. The easiest route: Cookiebot or a similar CMP connected through GTM.
What is the Conversion API and why do I need it?
The Conversion API (CAPI) is a server-side way to send data straight from your server to Meta (Facebook/Instagram), bypassing blockers and iOS 14+ restrictions. The browser pixel loses 20–40% of the data; CAPI makes up for it. For Shoptet the integration is ready-made — you just connect Meta Business Manager to your store.
How much do measurement tools for a new online store cost?
The basics are free: GA4, GTM, Meta Pixel, Clarity, Merchant Center, Sklik. Paid add-ons begin with tools like Cookiebot (a consent management platform) and Mergado (product-feed management), plus an optional one-off GA4 audit. To get a store off the ground, your essential tooling can run at little to no cost.
When should I deploy server-side GTM?
Not right away. Server-side GTM (sGTM) makes sense once your store starts approaching around 5 million CZK (≈ €200,000) in monthly revenue, or you're running into data-accuracy problems (ad blockers, Safari ITP). Setting it up via Stape or your own GCP server is a recurring monthly cost plus a one-off deployment.


