CRO & Analytics

Clear tracking, performance reporting, and conversion-focused optimization across funnels.

Most conversion rate problems turn out to be measurement problems wearing a disguise. Before I touch a headline or a form field, I want to know whether the numbers everyone has been arguing about are real. Usually a portion of them are not.

I run analytics, A/B tests and performance reporting for clients at Limi Creatives, and this work sits underneath everything else I do. Ads I cannot measure are ads I cannot improve.

Signals that your tracking is lying to you

You do not need to be technical to spot these. If two or more are true of your setup, the reporting you are making decisions from is not trustworthy.

  • Your ad platforms report more conversions in total than your CRM recorded leads for the same period, and nobody can explain the gap.
  • A large share of your GA4 traffic sits in "Unassigned" or "Direct" even though you run paid campaigns.
  • Your thank-you page URL is reachable directly, which means a bookmark, a refresh or a bot can fire a conversion.
  • Conversions dropped sharply on a specific date that coincides with a site redesign, a theme update or a new cookie banner, and the rest of the business was unaffected.
  • The same lead is counted by GA4, Google Ads and Meta simultaneously, and the monthly report adds them together as if they were separate people.
  • Nobody can tell you what triggers your primary conversion event, only that "it's in the tag manager somewhere".
  • Your checkout or booking flow crosses onto a second domain and you never configured cross-domain measurement, so one buyer is recorded as two sessions from two sources.

That last one is common and expensive. A booking engine, a payment processor or a subdomain that was never added to the cross-domain list will hand the credit for a paid conversion to a referral, and the ad account never learns it worked.

The order I rebuild measurement in, and why the order matters

Sequence is most of the skill here. Rebuilding GA4 before deciding what a conversion is means building a very tidy version of the wrong thing.

First: define the conversion in business language

Not "form submit". Something like "a quote request from a postcode we serve, for a job over a certain value". Then we work backward to what can actually be captured. Sometimes the honest answer is that the true outcome happens in a phone call and needs to come back from the CRM later. That is a design constraint worth knowing on day one rather than in month three.

Second: Google Tag Manager, structured so a human can read it

I build the container with a naming convention, use the data layer rather than scraping the DOM with fragile CSS selectors, and document every tag. DOM-scraping triggers break the next time a developer renames a class, and they break silently. A data layer push survives a redesign.

Consent Mode goes in properly where the business has EU or UK visitors, rather than being bolted on after a legal review. Getting that wrong either loses you a large share of your measurement or exposes you to a problem you did not need.

Third: GA4 configured, not merely installed

Installing GA4 takes ten minutes. Configuring it takes considerably longer and is what makes the difference between a property that answers questions and one that generates screenshots.

Fourth: push the outcome back to the platforms

Measurement that only lives in a dashboard is a report. Measurement that flows back into the ad platforms is an optimization system. That means server-side events and offline uploads so the algorithms learn from qualified outcomes, which is why this page and my work on Google Ads conversion imports are really one engagement with two names.

GA4 defaults I change on almost every property

GA4 ships with defaults chosen for the median website, and your website is not the median website.

I review the attribution model and lookback window rather than accepting them, because the default determines which channel gets credit in every report you will ever read. I set up cross-domain measurement wherever the journey leaves the main domain, and configure unwanted referrals so payment gateways stop appearing as traffic sources.

I mark only meaningful events as key events. A property with fifteen key events has no key events, it has a list. I add internal traffic filters, because a small business site with an active team can have a meaningful share of its sessions coming from its own staff. I check the session timeout against how people actually use the site, and I turn off or scope enhanced measurement events that fire on things nobody cares about, since every noisy event dilutes the reports around it.

Then I build a small number of explorations that answer specific questions the business asked, and delete the rest. A reporting setup nobody opens is worse than none, because it creates the impression of measurement.

None of this survives a site with broken rendering, blocked resources or duplicate URLs, so where measurement problems trace back to the build itself I handle the technical work that makes measurement reliable in the same pass.

Conversion work that is not button colors

Conversion rate optimization has a reputation problem, mostly earned by a decade of blog posts about button colors. The changes that actually move a small business are less photogenic.

Form length is the usual first target. Every optional field is a tax you are charging the prospect for the privilege of contacting you. If your sales team can look up the company size themselves, do not ask for it.

Message match is the second. If the ad promises a specific service in a specific city and the landing page opens with a generic company statement, you have paid for the click and then abandoned the person who made it. This is where alignment with the Meta campaigns feeding those pages matters more than any on-page tweak, because the fix often belongs in the ad rather than the page.

After that: making the price or the price range visible where the market expects it, putting proof next to the claim it supports rather than in a testimonials section nobody scrolls to, removing navigation from dedicated landing pages, and fixing mobile tap targets and form keyboards. Unremarkable work. It compounds.

Why I will often talk you out of an A/B test

A/B testing is the right tool at a certain traffic volume and the wrong one below it. If your page receives a few hundred visits a month and converts in single-digit counts, a split test will take an impractically long time to reach a conclusion you can act on, and stopping it early to declare a winner is worse than not testing at all.

Below that threshold I prefer sequential changes with clean before-and-after periods, session recordings and scroll data to see where attention dies, and direct feedback from the people who actually contacted you. Qualitative evidence is not a consolation prize when the sample size does not support statistics. It is the appropriate method.

I will tell you when your traffic can support a real test, and until then I will not run one so the monthly report has a chart in it.

What you own when we are done

Everything. Your GA4 property, your GTM container, your tags and your documentation, all under your accounts with me added as a user rather than as the owner. I write a plain-language tracking document that says what each event means and where it fires, so the next person who touches it, whether that is me, your developer or a future hire, does not have to reverse-engineer my work.

One practical benefit of hiring one person for both the ads and the measurement: when a number looks wrong there is nobody to point at. The agency cannot blame the developer and the developer cannot blame the agency, because it is the same person on both sides of the problem. That is the case I make in more detail when explaining why one person handling both ads and tracking avoids blame-shifting.

My background is in IT and computer science at the Institute of Science and Technology, Tribhuvan University, and I spent time teaching computer science to class 11 students, which is where I learned to explain a data layer to somebody who has no interest in ever seeing one. You can review where I've set this up, and if you suspect your numbers have been wrong for a while, get tracking audited before you spend another month optimizing against them.

Frequently asked questions

How do I know if my conversion tracking is broken?

Look for gaps between platform-reported conversions and leads recorded in your CRM, a large share of GA4 traffic sitting in Unassigned or Direct while you run paid campaigns, or a sharp conversion drop that lines up with a redesign or new cookie banner. A directly reachable thank-you page is another giveaway, since refreshes and bots can fire the conversion.

What is the difference between GA4 and Google Tag Manager?

GA4 is the analytics product that stores and reports your data. Google Tag Manager is the delivery system that decides which tracking code fires, when, and with what information attached. You can run GA4 without GTM, but GTM is what makes the setup maintainable, documentable and changeable without a developer deployment every time.

Should I run an A/B test on my landing page?

Only if your traffic can support one. At a few hundred visits a month with single-digit conversions, a split test takes an impractical amount of time to reach a trustworthy result, and calling it early is worse than not testing. Below that volume, use sequential changes with clean before-and-after periods, session recordings and direct customer feedback instead.

Why do Google Ads, Meta and GA4 all report different conversion numbers?

Because they count differently. Each platform claims conversions it believes it influenced, using its own attribution model and lookback window, so the same lead can appear in all three. Adding them together inflates results badly. Pick one source of truth, usually your CRM or backend, and treat platform numbers as optimization signals rather than accounting.

Do I need to fix tracking before improving my landing pages?

Yes, in almost every case. Without reliable measurement you cannot tell whether a page change helped, and you risk reversing something that was working. Measurement first also protects the ad spend, since bidding algorithms learn from the same events your reports use. Fixing tracking usually improves performance on its own, before any page change.

Who owns the GA4 and GTM setup you build?

You do. The property, the container, the tags and the documentation all live under your accounts, with me added as a user rather than as the owner. I hand over a plain-language document describing what each event means and where it fires, so a future developer or hire can take it over without reverse-engineering anything.