Analytics implementations

A GA4 implementation that matches your sales

I build Google Analytics 4 tracking from the ground up: full e-commerce, lead conversions, custom dimensions and data hygiene. No plugins that lose half of your transactions.

If any of these sounds familiar, you are in the right place

Most projects that come to me start the same way: there is data in GA4, but nobody in the company trusts it. And because nobody trusts it, budget decisions are still made on gut feeling.

📉

GA4 shows fewer transactions than your store

Your store dashboard shows 100 orders, Analytics shows 50. Usually the cause is one of these: no event when the user leaves for the payment gateway, purchases measured only on the payment confirmation page that many users never return to, duplicates when the thank-you page is refreshed, or a newly added payment method that nobody tracks.

🔀

Sales are attributed to the payment gateway instead of your campaigns

Without a referral exclusion list for payment providers, the conversion source becomes the payment gateway or the bank’s website. Without BigQuery, GA4 then struggles to attribute the visit of the user who bought on your website or app.

🧩

You do not know what is really in your setup

Three different contractors extended the GTM container and nobody left publishing notes. There is no documentation, or it is not updated with the dates new events, parameters and user properties were added. That matters for LLMs too, so they can interpret your data correctly.

What exactly you get

We agree the scope before starting, but an implementation for an online store typically covers most of the items below.

  • The full e-commerce path: view_item_list, view_item, add_to_cart, view_cart, begin_checkout, add_payment_info, add_shipping_info, purchase and refund events.
  • Currencies, discounts and promo codes handled so GA4 revenue can be reconciled with your invoices.
  • Lead conversions: AJAX forms, Typeform, HubSpot, phone and email clicks or copies, appointment bookings.
  • Transaction deduplication: one order counts once, even after the thank-you page is refreshed.
  • Custom dimensions and metrics: customer type, login status, category, margin, B2B/B2C segment.
  • A referral exclusion list with up-to-date bank and payment gateway domains for your markets.
  • Internal traffic filters and exclusion of test orders.
  • Property settings: 14-month data retention instead of the default 2 months, Google signals, modelling, links to Google Ads and Search Console.
  • Measurement documentation: a list of events and parameters that stays with you and keeps working when you change contractors. It also tells AI tools and LLMs what changed and when.
  • BigQuery export: worth setting up even on the free tier. The Google Cloud account is yours (I do not create it on my own account, as agencies often do) and keeps data for up to 2 months free of charge.

WordPress, Shopify or PrestaShop plugins send a set of basic events and stop there. Problems appear where the plugin has no answer: an asynchronously loaded cart, the return from the payment gateway, orders taken by phone, refunds and multiple currencies at once.

The result is always similar. The data looks complete until someone compares it with the sales dashboard. Then it turns out you have been optimising campaigns for six months based on 60% of the truth.

An implementation through GTM and your own dataLayer costs more than clicking “install”, but it gives you tracking that survives a website redesign and a change of agency.

How the implementation works

Typically 2 to 3 weeks from kick-off to publishing, depending on how quickly your IT team responds.

1

Call and measurement plan

We agree which decisions the data should support. That produces the list of events and parameters, not the other way round. You get it in writing before work starts.

2

Specification for developers

I prepare dataLayer documentation with ready JSON examples. If you have a developer, they get something concrete to paste in. If you do not, in most cases I handle it myself in GTM, based on the website’s code.

3

Configuration and testing

I build the GTM container, configure the GA4 property and test on staging or in preview mode. I check every event separately, including the path through the payment gateway.

4

Production validation

I compare GA4 numbers with your sales dashboard. I consider the project finished only when they match, within the natural gap caused by users declining consent in your CMP.

5

One-week check and ongoing monitoring

About a week after launch I come back and review the data with fresh eyes. After that you get free notifications about changes in your GTM container and GA4 anomaly alerts. More on that in the questions below.

What it costs

Every store is different, so I prepare a quote after a short call. Below is a starting point, so you know whether we are in the same range.

from €190 excl. VAT for B2B websites, from €315 for e-commerce (small fixes) Delivered in 2 to 3 weeks · fixed price agreed before we start

The final price depends mainly on:

  • your store platform and whether it supports a dataLayer out of the box,
  • the number of languages, currencies and domains,
  • whether we build from scratch or fix an existing setup,
  • whether you also have a mobile app,
  • server-side tracking and Meta CAPI are priced separately, and they make no sense without correct browser tracking.

Describe your problem and get a quote

The initial quote is free and with no obligation.

What it looks like in practice

Problem: An online store reported 45% fewer transactions in GA4 than in its sales dashboard.

What I did: One payment method was not tracked at all, and the store measured purchases only when users returned from the payment gateway, which few of them did. Since 98% of customers paid at the moment they went to the gateway (data from the gateway’s dashboard), I modified the dataLayer and added an event on leaving for the payment gateway. That increased the number of tracked transactions in GA4, Google Ads, Meta (Facebook) Ads and TikTok Ads.

Result: The gap between GA4 and real sales dropped to an acceptable 13%, matching the share of users who declined tracking in the CMP.

Before
55% match
After
87% match
Time
1 week

See the client list

Questions I hear most often

Do I need a developer to implement changes?

In most cases, no. I always try to minimise developer involvement, and most tracking can be built in Google Tag Manager.

If something genuinely requires code changes, you get a ready, concrete guideline from me: what to change, where, and in what order it should load. The goal is for your developer to close the task in a few minutes, not to read documentation for a week.

Do you monitor the implementation after the project ends?

Yes. I recheck every implementation about a week after publishing, unless we agree otherwise.

Every client is also covered by free monitoring: I get notifications about changes in your GTM container and automated GA4 anomaly alerts. If an anomaly has no obvious cause (on a public holiday traffic drops for almost everyone), I get in touch. I do this free of charge even after our project has ended, as long as I still have access to GA4.

How long does the implementation take?

Usually 1 to 3 weeks. The biggest factors are access to a test environment and how quickly your IT team responds, if they are needed.

Will I lose historical data?

No. The implementation does not delete what GA4 collected before. Keep in mind that data from before the fixes was collected incorrectly, so year-on-year comparisons need care. I add an annotation in GA4 with the date of the change, so the boundary is clear.

Will it slow down my website?

A correctly configured GTM loads asynchronously and does not block rendering. During the implementation I usually clean up unused tags left by previous contractors, so the site more often speeds up than slows down. If performance is critical, server-side tracking is the answer.

Do you work on my platform?

Yes, including single-page applications (SPAs), which make analytics harder. I have worked on Shopify, WooCommerce/WordPress, PrestaShop, Magento, IdoSell, Shoper, Sote, Drupal and on stores built from scratch. The platform affects how much can be done without a developer, not whether the implementation is possible.

What if I already have GA4 and just want it fixed?

Then a better starting point is usually a GA4 and GTM audit. You get a prioritised list of errors and decide what I fix and what your team handles.

Let’s check how much data you are losing today

Describe your store or website, and I will tell you where I would start and how long it would take. Free, with no sales pitch.

Ta strona jest dostępna również po polsku.

Przejdź do wersji polskiej