GA4 consultant presenting before and after GA4 attribution charts to two colleagues
Delivered as a Tracking Build

Google Analytics consultant for GA4 implementation and fixes

Hire a Google Analytics consultant and every GA4 number traces back to a written measurement plan. Waftr builds GA4 and Tag Manager from it, including migrations off Universal Analytics, Adobe, Matomo or gtag.js.

Free GA4 audit42 checks · report by email
Or book a 30-minute call

No login and no account access. We email you the report and may follow up about fixing what we find. Privacy policy.

A Core Build runs 3 to 4 weeks, scoped from a Tracking Audit and quoted in writing. Compare the three Build tiers

5migration paths Waftr has delivered

Which GA4 migration path are you on?

Pick the setup you are leaving.

You are moving from

Not on this list: GA4 standard to GA4 360. That is a licence upgrade on the same property, and the limits that justify it are further down.

Universal Analytics to GA4

Universal Analytics stopped processing in July 2023, July 2024 on 360. What still has to move is the logic: goals, views and filters.

The path

  1. 1

    List each UA goal, view filter and custom dimension that still appears in a report or a board deck.

  2. 2

    Map each one to a GA4 event, key event or parameter in the plan, or drop it with a written reason.

  3. 3

    Rebuild collection in Tag Manager from the data layer spec your developers push.

  4. 4

    Verify in DebugView, publish, then mark key events and import them into Google Ads.

What usually breaks

  • Goal types. GA4 has no destination or duration goals. A thank-you page goal becomes an event such as generate_lead, marked as a key event.
  • Views. GA4 has no views. View filters become data filters, which act only on data collected after they are switched on.
  • Category, action, label. These become event names and parameters, and a parameter appears in reports only once it is registered as a custom dimension.

Checked before the old tag comes off

  • Each UA goal has a GA4 key event or a written reason it was dropped.
  • Event data retention raised from the 2-month default to 14 months.

ScopeCore Build3 to 4 weeksSee what each tier covers

The other four GA4 migration paths, step by step

Hardcoded gtag.jsGoogle tag pasted into the site code

Hardcoded gtag.js to Google Tag Manager

With a Google tag pasted into page templates, each new event, consent rule or ad platform waits for a developer release.

The path

  1. 1

    Inventory each gtag() call, tag ID and inline event in the templates.

  2. 2

    Set up the consent platform and Consent Mode v2 defaults first, so they load before any tag.

  3. 3

    Rebuild the same events in a GTM workspace, reading values from the data layer spec.

  4. 4

    Remove the hardcoded snippet in the same release that publishes the container.

What usually breaks

  • Double counting. If the old snippet stays live while GTM also loads GA4, page_view and key events count twice.
  • Consent order. A hardcoded tag placed above the banner script fires before the visitor chooses.
  • Ads conversions. Hardcoded Google Ads conversion snippets need their conversion ID and label rebuilt in GTM, or conversions stop recording.

Checked before the old tag comes off

  • One page_view per page load in DebugView, sent by GTM only.
  • No Google request before a consent choice in Tag Assistant.

ScopeCore Build3 to 4 weeksSee what each tier covers

Several GA4 propertiesOne business split across properties

Several GA4 properties consolidated into one

GA4 cannot merge properties or move history between them, so consolidation means one target property, re-tagged sites and the old properties kept as the archive.

The path

  1. 1

    Choose the target property and agree one event naming scheme across sites.

  2. 2

    Point each site's tags at the target property, with cross-domain measurement where journeys cross domains.

  3. 3

    Recreate key events, custom dimensions, audiences and the Google Ads link in the target property.

  4. 4

    Leave the old properties untouched as the archive for year-on-year history.

What usually breaks

  • History. Year-on-year comparisons span two properties until the new one holds a full year of data.
  • Naming. The same action named differently on two sites lands as two separate events.
  • Limits. A standard property allows 50 event-scoped custom dimensions, and several sites' dimensions fill that quickly.

Checked before the old tag comes off

  • A test visitor crossing domains keeps one session.
  • Key event counts per site compared before the old tags come off.

ScopeEnterpriseScoped per projectSee what each tier covers

Adobe AnalyticseVars, props and report suites

Adobe Analytics to GA4

An eVar can persist across hits under rules Adobe applies after collection; a GA4 parameter belongs to one event unless you set it as a user property.

The path

  1. 1

    Export the solution design: each eVar, prop, success event and report suite in use.

  2. 2

    Map each to a GA4 event, parameter or user property, inside GA4's custom dimension limits.

  3. 3

    Rebuild collection in GTM from the data layer spec, replacing the rules in Adobe's tag manager.

  4. 4

    Compare both tools over the same days, then remove the Adobe tags.

What usually breaks

  • Persistence. eVar expiry and allocation rules have no GA4 setting, so a value set once stops reaching later events.
  • Visits and sessions. The two tools start and end sessions by different rules, so counts never match one to one.
  • Processing rules. Classifications, processing rules and marketing channel rules do not carry over and need rebuilding in GTM or GA4 channel groups.

Checked before the old tag comes off

  • Each eVar and prop in the solution design has a GA4 home or a drop reason.
  • Daily totals compared across both tools before Adobe tags come off.

ScopeCore or Advanced3 to 4 weeks, or 5 to 8 with BigQuery or CRM importsSee what each tier covers

MatomoOften picked for privacy

Matomo to GA4

Teams often chose Matomo for privacy, so GA4 has to meet the same bar with a consent platform and Consent Mode v2.

The path

  1. 1

    Record why Matomo was chosen, because the consent setup has to meet the same bar.

  2. 2

    Set up the consent platform and Consent Mode v2 before any GA4 tag goes live.

  3. 3

    Map Matomo goals, custom dimensions and events to the measurement plan.

  4. 4

    Rebuild in GTM, compare goal and key event counts, then switch Matomo off.

What usually breaks

  • Totals. Matomo can count visits without cookies. GA4 keeps far less when consent is denied, so totals drop at cut-over.
  • History. GA4 cannot import Matomo's raw history, which stays in Matomo or an export.
  • Events. Matomo's category, action and name triplets become GA4 event names and parameters.

Checked before the old tag comes off

  • No GA4 request before a choice where consent is opt-in.
  • Matomo data exported or archived before the server is shut down.

ScopeCore Build3 to 4 weeks; Advanced if raw data needs BigQuery exportSee what each tier covers

Wk 1signed off before any tag changes

What a Google Analytics consultant puts in a measurement plan

Google Analytics consulting at Waftr starts with one sheet. Each row ties a question your team asks to the GA4 event that answers it, its parameters, key event status and owner. Events that answer no row are not built.

Measurement planFive template rows, and the real projects where rows like them broke
Template
Measurement plan template with business question, GA4 event, parameters, key event, owner, and a real result or a known pitfall for each row
RowBusiness questionGA4 eventParametersKey eventOwnerProof or pitfall
1Which channels bring qualified leads?generate_leadlead_source form_idYesDemand generation53% → 38%direct leads · Enterprise SaaS
2Where do visitors abandon the form, and do submits reach GA4?form_start form_submitform_id form_nameNoWeb team
3Which CRM leads became customers?close_convert_leadsent from the CRMvalue currencymatched on client_idYesSales operations
28-41%of CRM form leads with no GA4 client ID
4What revenue did each campaign drive?purchasetransaction_id value currency itemsYesEcommerce
PitfallA value sent without currency is not counted as revenue in GA4
5Which tags may fire before a visitor chooses?No event: Consent Mode v2 defaultsanalytics_storage ad_storage ad_user_data ad_personalizationn/aPrivacy lead100%NexTranslate: tags waiting for consent, verified by test

Event names follow GA4's recommended events; form_start and form_submit come from enhanced measurement. Your plan keeps the names your reports already use where they are sound.

Consent goes in before Tag Manager is rebuilt. See how each consent state is tested in our Consent Mode v2 setup.

Rows 1 to 4

Who builds each row

Waftr writes the data layer spec; your developers push it, because the code is theirs. We check each value in GTM Preview and each event in DebugView before publishing.

What teams ask a Google Analytics consultant on the first call

Cost, migrations, timing, CRM data and ownership. For a first look at your public tags, run the free GA4 audit tool.

How much does a Google Analytics consultant cost?
There is no hourly rate. Waftr quotes each GA4 build as a Tracking Build, set from a Tracking Audit or a short call and agreed in writing first. The quote grows with the number of sites, properties and containers, the consent regions, and whether BigQuery, server-side tagging or CRM imports are in scope.
Do you offer GA4 migration services?
Yes. Waftr has delivered five kinds of Google Analytics migration: Universal Analytics to GA4, Adobe Analytics to GA4, Matomo to GA4, hardcoded gtag.js to Google Tag Manager, and several GA4 properties consolidated into one. Each starts from a measurement plan, so old goals, eVars and events are mapped or dropped on purpose.
How long does a GA4 implementation take?
A Core Build takes 3 to 4 weeks. The measurement plan is approved in week 1, the build and QA run through weeks 2 and 3, and week 4 covers publishing and handover. Advanced Builds take 5 to 8 weeks because BigQuery export, server-side tagging or CRM imports add work. Enterprise timelines are scoped per project.
Can you integrate GA4 with our CRM?
Yes, in an Advanced Build. Qualified and closed leads go back to GA4 through the Measurement Protocol, matched to the original visit by the client ID the form passed to the CRM. That match is the weak point: across Waftr client audits, 28-41% of CRM form leads arrived with no GA4 client ID at all.
Do you implement GA4 through Google Tag Manager?
Usually. Tag Manager gives GA4 version history, Preview mode and a consent check on each tag, which a hardcoded Google tag lacks. If a strict tag policy rules GTM out, the Google tag goes in directly and the plan records why. Container design beyond GA4 is covered by our Google Tag Manager consultant service.
Should you hire a Google Analytics freelancer or a consultancy?
Either can build a sound property. One test tells a planner from a tag installer: ask the GA4 freelancer or consultancy for a measurement plan from a past project, with questions, events and owners. If none exists, expect tags without a plan. At Waftr the plan is the first deliverable, and your team signs it off.
Who owns the GA4 property after the build?
You do. The build happens in your own GA4 property, Tag Manager container and Google Cloud project, with your team as administrators. If you change consultants or bring analytics in-house, nothing stops working, and the measurement plan and its documentation stay with you.

GA4 standard or GA4 360: which do you need?

Most properties never reach a standard limit, and the measurement plan reads the same on either licence. Three limits push teams to GA4 360.

  1. 1M+events a day in the BigQuery daily export
  2. 14+months of event-level data needed in explorations
  3. Roll-upreporting across brands or regions in one property

Roll-up and sub-properties are Enterprise Build scope once the licence is in place. Limits as Google documents them; check Google's current documentation before you buy.

GA4 standard compared with GA4 360
LimitGA4 standardGA4 360
LicenceFreePaid, through Google or a reseller
Event data retention2 or 14 monthsUp to 50 months
BigQuery daily exportUp to 1 million events a dayBillions of events a day, plus a fresh daily export
Custom dimensions, event scope50125
Audiences100400
Key events3050
Roll-up and sub-propertiesNot availableIncluded
Service level agreementsNoneIncluded

3Build tiers, sized by what gets built

GA4 implementation services, scoped in three Build tiers

GA4 implementation services run as a Tracking Build. The tier follows from what has to be built and how many sites and properties it spans; the quote comes from the Audit findings.

  1. 1Core3 to 4 weeks

    The web layer: property, container and consent.

    • GA4 and GTM rebuild from the measurement plan
    • Key events and Google Ads conversions
    • Consent Mode v2 with your consent platform
    • Enhanced conversions

    FitsUniversal Analytics rebuilds, gtag.js to GTM, Matomo moves

  2. 2Advanced5 to 8 weeks

    Core, plus the data that has to leave the browser.

    • Everything in Core
    • BigQuery export to your Google Cloud project
    • CRM and offline conversion import
    • Server-side tracking or Google Tag Gateway

    FitsAdobe Analytics moves that add BigQuery or CRM imports

  3. 3EnterpriseScoped per project

    Several properties held to one plan.

    • Several properties, regions or brands
    • GA4 360 roll-ups and sub-properties
    • Governance across teams

    FitsConsolidating properties across brands or regions

GA4 expert team: certified in Google Analytics, Google Tag Manager and OneTrust · 13 years in digital analytics