Skip to content
Sultan Kautsar

Home / Work / Case study

Consent and Conversion Tracking for a Moving Company

I set up cookie consent, Google Tag Manager, Google Analytics 4 and Google Ads conversion tracking for a German moving company, and delivered the working setup in 2 days.

The Client

A moving company in Germany. Besides private and business moves, it takes on specialist transports and related services that need more planning than a standard move.

New customers arrive through the website in several ways: an online moving request, a phone call, or a WhatsApp message. The company advertises on Google Ads, so it needs to know which campaigns actually lead to those enquiries, and it serves customers in Germany, so the tracking has to respect German consent rules from the first page view.

The Problem

The site needed a complete measurement chain, from the visitor's consent to a conversion in Google Ads, built so each layer depends on the one before it:

  • Consent first: visitors in Germany have to be asked before analytics or advertising tags may store anything, and that choice has to reach every tag, not just the banner.
  • One place for the tags: analytics and advertising tags needed to run from a single Google Tag Manager container, so the setup stays clear and maintainable.
  • Analytics the business can use: GA4 had to show how visitors find the site and which of them go on to make contact.
  • Conversions Google Ads can bid on: enquiries had to arrive in Google Ads as conversions, so campaigns are measured and optimized on real leads instead of clicks.
  • A fast, cached site: the WordPress site runs NitroPack, which caches pages and optimizes scripts, so the tracking had to load reliably alongside it.

What I Built

One chain in which every layer passes its data to the next, and nothing skips the consent step.

Borlabs Cookie sets every Google signal to denied
   ↓
Borlabs Cookie loads the Google Tag Manager container
   ↓
The visitor's choice updates Consent Mode V2
   ↓
GA4 records the visit and the enquiry events
   ↓
Google Ads receives the enquiries as conversions

Borlabs Cookie as the gatekeeper
I set up Borlabs Cookie on the WordPress site as the consent layer and let it load the Google Tag Manager container itself. Because of that, GTM can never start before the consent defaults are in place, and there is no second copy of the container hidden in a theme or plugin.

Consent Mode V2, advanced
Before the visitor chooses, all four Google signals (ad_storage, analytics_storage, ad_user_data, ad_personalization) default to denied, Google waits up to 500 ms for a stored choice, and ad data redaction is on. Google tags send only cookieless pings until the visitor allows more, which keeps the company compliant while giving Google enough signal to model the conversions it cannot observe.

Google Tag Manager as the single source
GA4 and Google Ads both run from the one container, with their tags, triggers and variables side by side. Changes to tracking happen in GTM, not in the website's code.

GA4 for the enquiry journey
GA4 records visits and the actions that matter for a moving company, so the business can see which channels bring in people who actually ask for a move.

Google Ads conversion tracking
I set up the Google Ads conversion tracking and connected it to the enquiries, so campaign performance is judged on leads, and bidding can optimize for them.

The Stack

Everything runs on the company's existing WordPress site.

Layer Tool Role
Website WordPress, NitroPack Company website, caching and script optimization
Consent Borlabs Cookie, Google Consent Mode V2 (advanced) Banner, consent storage, default and updated consent signals
Tag loading Borlabs Cookie Loads the GTM container after the consent defaults
Tag management Google Tag Manager All tags, triggers and variables
Analytics Google Analytics 4 Visits and enquiry events
Advertising Google Ads Conversion tracking for enquiries

The Result

The whole chain works: consent is collected and respected, GA4 records the visits and enquiries, and Google Ads receives the conversions it optimizes on.

Layer Outcome
Consent Every visitor is asked first; all Google signals start as denied
Tag loading One GTM container, loaded only through the consent layer
Analytics GA4 records the visits and enquiries
Advertising Google Ads receives the enquiries as conversions
  • Consent to conversion, end to end: Borlabs Cookie, Consent Mode V2, GTM, GA4 and Google Ads connected and working together.
  • Delivered in 2 days, from the first setup to a working tracking chain.

If you need tracking that works from the banner to the bid, get in touch.

More work

  1. Privacy-First Tracking for a German Dental Practice Consent & tracking · Healthcare
  2. Repairing the Tracking Chain for a Yoga School Tracking audit · Yoga education
  3. Tracking Standards for a Performance Marketing Agency Event standards · Agency

All work →