Perth Analytics Consultant

Measurement, data models and reporting that hold up - for businesses in Perth and Western Australia.

I am an independent technology consultant in Perth. People call me when they have stopped believing their own Google Analytics. I do the implementation myself.

  • Conversions that will not reconcile with the CRM
  • Ad platforms all claiming the same sale
  • Traffic sitting in Unassigned
  • A tracking setup nobody at the company built

How the work stacks up

Four stages. Most engagements start at one and stop where the value runs out.

  1. Measure

    Collect it correctly, once.

    • GA4 implementation and repair
    • Server-side tagging (GTM SS)
    • Meta CAPI and offline conversions
    • Consent Mode v2
  2. Model

    Turn events into something queryable.

    • BigQuery export and SQL models
    • Power BI semantic models
    • Warehouse and database design
    • Power Query and ETL pipelines
  3. Report

    Answer the question, not the metric.

    • Power BI executive dashboards
    • Looker Studio on modelled data
    • Blended paid, CRM and finance sources
    • Cohort, LTV and channel views
  4. Automate

    Stop assembling reports by hand.

    • Scheduled refresh and alerting
    • Anomaly and tracking-break alerts
    • Python and API data pipelines
    • AI-assisted reporting workflows

Most Perth engagements begin at stage one, because nothing downstream is worth building on numbers nobody trusts. Plenty stop at stage two.

Things you can go and check

Open these without asking me for anything.

Open source

IPmeta Tag Template

A GTM community template for spam and bot filtering, in the public gallery. Anyone can read the code.

SaaS platform

ascribe.to

Validates tracking links against your own GA4 channel definitions before launch. Built, shipped and running.

Track record

Agency automation build

75 per cent less admin time and AUD 285,000 in recovered revenue across a 150-person agency. Case study on the consultancy page.

This page runs the stack: its tag is served first-party from this domain through Google's tag gateway, proxied by the site's own Cloudflare Worker, under a nonced content security policy. Open the network tab to see what I would build for you.

Who this is for

Organisations that already have traffic and spend, and need the measurement underneath to hold up.

WA ecommerce and retail

Shopify, WooCommerce and custom carts where GA4 purchases no longer match the back end, and iOS traffic has quietly stopped reporting.

Tourism, hospitality and events

Booking engines on a separate domain, where the sale is credited to the booking provider instead of the campaign that paid for it.

Resources and industrial services

Long B2B enquiry cycles where the real conversion happens in a CRM weeks after the click, and has to be sent back to the ad platforms.

Perth agencies

A technical partner to specify, build and document server-side tagging for your clients, without a permanent engineering hire.

What the work covers

Three bodies of work. Each is only worth doing if the one above it is sound.

GA4 implementation and remediation

Making a property measure what the business cares about, and agree with the systems of record.
  • Audit of an inherited property: data streams, filters, cross-domain, referral exclusions, key events and attribution
  • Event and conversion design around what the business gets paid for
  • Ecommerce tracking to the GA4 specification, with item-scoped parameters
  • Reconciliation against Shopify, the CRM or invoicing, with the remaining variance explained
  • Bot and spam filtering, including the IPmeta Tag Template I maintain
  • BigQuery export modelled in SQL, so reporting uses complete event data
  • Looker Studio dashboards covering the few numbers a decision turns on

Server-side tagging

Moving tag execution off the browser into a first-party server container, so less is lost to tracking prevention, ad blockers and short cookie lifetimes.
  • Server-side Google Tag Manager on a first-party subdomain of your own domain
  • First-party cookies written server-side, which keep returning visitors identifiable for longer
  • Meta Conversions API, Google Ads enhanced conversions, TikTok Events API and LinkedIn CAPI, with hashed identifiers
  • Offline and CRM conversion import, so an enquiry that closes six weeks later still reaches the platform
  • Consent Mode v2 wired end to end
  • Hosting on Cloudflare Workers, or Cloudflare's Google tag gateway where first-party GA4 delivery is all you need
  • Payload governance: what is forwarded, hashed or dropped before it reaches a vendor

Data models, warehousing and reporting

Once collection is sound, the value moves to what sits on top of it.
  • Power BI semantic models with agreed measures, so finance, marketing and the board quote the same number
  • DAX measures and Power Query transformations, documented
  • BigQuery schema and table design, partitioned to keep cost sane
  • Warehouse design, incremental loads and version-controlled models
  • API integrations to ad platforms, CRM and finance, scheduled in Python or on Cloudflare Workers
  • Looker Studio and Power BI dashboards that read from the model
  • Reconciliation jobs and anomaly alerting, so a tracking break is caught early

Symptoms worth a conversation

Most of these are measurement faults, not marketing ones.

GA4 reports fewer conversions than the platform, the CRM or the cart

Usual causeBrowser-side tags being blocked, a tag firing after the user has navigated away, or a purchase event that never fires on a client-side cart.

FixMove the conversion tag server-side and validate it against order records, not against another tag.

Google Ads, Meta and GA4 each claim the same sale

Usual causeThree attribution models measuring three different things, plus a shrinking cookie window that credits the last observable touch.

FixEstablish one server-side source of conversion truth, and read platform numbers as each vendor marking its own homework.

A large share of traffic arrives as Direct or Unassigned

Usual causeA utm_medium GA4 does not recognise, a cross-domain hop that starts a new session, or a redirect that strips the query string.

FixCorrect the tagging taxonomy against GA4 channel definitions, fix cross-domain and redirect handling, and validate links before launch.

Safari and iPhone traffic behaves nothing like the rest

Usual causeSafari's Intelligent Tracking Prevention shortening browser-set cookies, so returning visitors count as new and campaign credit is lost early.

FixFirst-party cookies set server-side on your own domain. Behaviour moves with each browser release, so I measure the improvement on your own traffic.

Nobody at the company knows how the current setup works

Usual causeSuccessive agencies layering containers on containers, with no documentation and no owner.

FixA full audit and rebuild, with a documented measurement plan your team can hand to the next person.

How server-side tagging changes the path

Four requests leave the browser and most get blocked. One request leaves instead, to a subdomain of your own domain, and the forwarding happens server-side.

BEFORE Visitor browser GA4 - blocked Meta - blocked Ads - blocked TikTok - arrives AFTER Visitor data.yourdomain.com.au your domain, your rules GA4, Meta CAPI, Google Ads, TikTok - all four arrive

What you are left holding

The artefacts that exist at the end. They are yours.

  • A measurement plan - the events, parameters and identifiers that matter, written down in your language.
  • The container itself - running in your cloud account, on your domain, under your billing.
  • A reconciliation report - GA4 set against the cart or CRM, with the remaining gap explained.
  • Data models - the SQL or Power BI semantic layer, documented and version-controlled.
  • Dashboards people open - built on modelled data, and short enough to read.
  • A runbook and a handover session - naming conventions, how to add a tag, what to check when something looks wrong.

Working with a consultant in your own time zone

Most Australian analytics work is sold out of Sydney and Melbourne, two to three hours ahead of Perth. A tracking break found on Monday morning here is a Monday afternoon problem there.

AWST hours

Debugging happens while your site is live and your campaigns are spending, not the following morning.

On site when it helps

Workshops, migration planning and handovers in person across the Perth metropolitan area. Regional WA and interstate clients are supported remotely.

Reporting configured for WA

GA4 should report on Australia/Perth, not the Australia/Sydney default. A two-hour offset moves conversions across day boundaries and distorts every day and hour report.

Australian privacy context

Built with the Privacy Act 1988 and the Australian Privacy Principles in mind, with Consent Mode v2 for European and UK traffic. I am not a lawyer and this is not legal advice.

The questions you are too polite to ask

Fair objections to hiring one person, answered before you have to raise them.

What happens if you are unavailable?

Everything runs in your accounts, not mine, and the runbook exists so a competent replacement can pick it up. No part of the build depends on me still being here.

Are we locked into you afterwards?

No retainer is required to keep anything running. Support is available if you want it, and plenty of clients take the handover and run it themselves.

What if it turns out we do not need this?

The diagnostic is designed to reach that conclusion where it is the right one, and I will say so. The written report is yours either way.

Business practice

Larger WA organisations cannot raise a purchase order without this. So it is here.

Registered Australian business ABN 96 522 684 594, based in Western Australia and registered for GST.
Professional indemnity insurance AUD 1 million per claim, AUD 2 million in the aggregate, underwritten by Berkley Insurance Australia.
Public liability insurance AUD 10 million per occurrence, for on-site work at client premises.
Standard services agreement Plain-language contract covering scope, intellectual property and termination.
Your data stays yours Intellectual property transfers to you on final payment, and infrastructure runs in your own accounts.
WA government experience Engaged directly by a WA government agency for data and reporting work.
Onshore delivery All work performed in Australia. Nothing is subcontracted offshore.

Certificates of currency, the services agreement and a mutual NDA are available on request, before any scoping conversation.

How an engagement runs

Most engagements start with a conversation and a paid diagnostic. After that the commercial shape is up to you.

Start here

Diagnostic

A structured audit of the GA4 property, tag manager containers and data layer, delivered as a written report with prioritised findings.

Fixed scope, fixed price. The report is yours whether or not a build follows.

Project based

A defined build with agreed deliverables and a fixed quote, phased so each stage is validated before the next.

Documentation and a handover session are included.

Pooled hours

A block of hours bought up front and drawn down as you need them.

Unused hours do not evaporate at the end of the month.

Retainer

A monthly arrangement with agreed availability, for teams running server-side infrastructure without an in-house owner.

Common with Perth agencies who want the capability without the hire.

Something else

Secondment, embedded days, training only, or a second opinion on somebody else's build.

Propose a shape and I will tell you honestly whether it works.

Frequently Asked Questions

What does server-side tagging (or server-side tracking) actually fix?

It moves tag execution from the visitor's browser to a container running on a subdomain of your own domain. That recovers a share of the measurement otherwise lost to ad blockers and browser tracking prevention, allows first-party cookies with a longer useful life, reduces the number of third-party scripts slowing your pages, and gives you a single place to control what data each vendor receives. It is an improvement in capture, not a way to see everything - anyone promising the latter is overselling it.

Is server-side tagging worth it for a smaller WA business?

A full server container is not always the answer, and I will say so during the diagnostic. It earns its keep when you are spending enough on paid media that a gap between what converted and what got counted would change how you allocate budget, or when a meaningful share of your audience is on Safari or using content blockers. Below that there is a middle step: serving the tag first-party through a tag gateway, which recovers part of what is lost without a container to run or pay for. It carries no conversion APIs and no payload rules - those still need the container - but it is a fraction of the work, and this site runs that way, so you can see the shape of it before you buy it. The diagnostic measures the gap on your own data first and says which of the three you need, because fixing the GA4 implementation itself usually returns more than adding infrastructure to a setup that was not measuring the right events to begin with.

What does it cost to run?

A container is billed by event volume, so it scales with your traffic instead of with a plan tier. The gateway route carries no event-based hosting bill at all - it runs on the Cloudflare zone your site already sits behind. I quote it separately from the build and size it to your actual volume, so the ongoing commitment is visible before you agree to anything. If you want a figure before we talk, send me your monthly session count and I will give you one.

Will this break what we already have?

A container migration runs in parallel: the existing setup keeps reporting while the new one is validated beside it, and the changeover happens only once the two reconcile. A gateway cutover is a smaller thing - it changes where the tag is served from, not what runs the tags - so it is proved out on a staging container first and reversed by restoring the previous snippet. Either way, no reporting gap, and a documented rollback if one is needed.

Can you work with our existing agency?

Yes, and it is a common arrangement. The agency keeps campaign strategy and delivery; I own the measurement infrastructure underneath it. I also work as the technical partner for Perth agencies delivering this for their own clients.

How does Australian privacy law affect this?

It gives you more control over personal information, not less, because the fields leaving your infrastructure pass through rules you set rather than through whatever a vendor tag collects by default. I build with the Privacy Act 1988 and the Australian Privacy Principles in mind, configure Consent Mode v2 for visitors covered by GDPR or UK GDPR, and hash identifiers before they reach any advertising platform. What I do not do is give legal advice: compliance is a question for your own adviser, and I would rather work with them than around them.

How long does it take?

A diagnostic is typically a week or two. A GA4 remediation runs a few weeks. A full server-side deployment with conversion APIs and validation against a full reporting cycle usually runs six to ten weeks, most of which is validation rather than build.

Start with a conversation

Book a complimentary 30-minute call. Bring the number that does not reconcile, and you will leave with a view on what is causing it - whether or not we go any further.