Analytics setup: GA4, PostHog and conversion tracking you can trust

Analytics setup makes your numbers trustworthy: a written measurement plan first, then Google Analytics 4, PostHog, consent and conversion tracking built to that plan. Dardo does it for US companies launching a site or product, and for teams whose reports no longer match their CRM. We count a lead when your server stores it, not when someone clicks a button.

Get a proposalMessage us on WhatsApp
Dardo / Editorial illustration
On this page

What an analytics setup includes

An analytics setup covers the plan, the tracking code, the consent behavior and the reports, tested together on your live site. The proposal states which items are in scope and how each one is accepted.

  • A measurement plan: business questions, the events that answer them and an owner for each
  • GA4 with key events, data retention, an internal-traffic filter and Search Console linked
  • PostHog for product analytics, masked session replay and feature flags, where needed
  • Consent mode and opt-out controls that actually stop the tags
  • Conversions confirmed by your server or CRM, counted once and stored with their first source
  • A UTM naming sheet and a channel of its own for visits from AI assistants
  • Dashboards, an event dictionary and a written test report

Is analytics setup the right service for you?

Choose it before a launch, when tracking is cheapest to get right, or when nobody trusts the numbers: GA4 shows more leads than sales received, one submission counts twice, or paid campaigns arrive as direct traffic.

If tracking already works and you want more visitors to act, conversion rate optimization uses this data to change the site. To see why people struggle with a flow, start with a UX audit. If too few people arrive at all, SEO comes first.

Why start with a measurement plan, not tags?

Because the plan decides what is worth counting, and GA4 doesn't fix the past: marking an event as a key event only affects data from then on, and a standard property allows up to 30 key events. We start from the decisions you make each month, such as which channel to fund or whether a release helped, and work back to the events and reports that answer them.

Each event gets a name, a trigger, its parameters, a destination and an owner. Names, emails and anything typed into a form stay out of analytics. Rows from a typical B2B plan:

Why start with a measurement plan, not tags?
QuestionWhat we measureWhere it is answered
Which channels bring qualified leads?A lead event sent after the server stores the form, with the visit's first sourceGA4 key event and your CRM
Where do people abandon the form?Form view, start, validation errors by field and abandonment, never what was typedPostHog funnel
Which search landing pages produce inquiries?Organic sessions by landing page and the key events they lead to, next to Search Console clicksGA4 with Search Console linked
How much traffic comes from AI assistants?Visits tagged by ChatGPT or referred by other assistants, kept as their own channelGA4 and PostHog
Did the new pricing page change sign-ups?Sign-ups split by the feature flag that showed each versionPostHog experiment

How do you make conversions match the CRM?

Count each conversion where it actually happens. A button click or a thank-you page view also counts failed submissions, double clicks and reloads; the real event is the form your server stored, the payment your processor confirmed or the account your product created. We send those from the server, or fire the browser event only after the server confirms, with a unique ID so a retry never counts twice.

On dardo.studio, an inquiry reaches PostHog only after our database saves it, and the Google Analytics lead event fires only after the server confirms the same inquiry. The stored inquiry keeps the visit's first source, so the channel sits next to the lead. Neither tool receives a name, an email or the message. Browser tags still record the visit and the path, so most setups use both.

GA4, PostHog or both?

Most marketing sites need GA4, and products or long sign-up flows usually add PostHog. GA4 links to Google Ads and Search Console and is where marketers already read acquisition. PostHog covers product questions in one project: funnels, retention, session replay, feature flags and experiments.

As of October 2026, PostHog's free monthly allowance includes 1 million analytics events, 5,000 session recordings and 1 million feature flag requests; its free plan keeps data for one year, and projects are hosted in the US or the EU. We run both tools on our own site, with a zero-dollar billing limit on every PostHog product, so a traffic spike pauses collection instead of raising the bill.

UTM conventions and visits from AI assistants

A UTM sheet keeps campaign links consistent, because analytics tools read values literally: Google Analytics treats utm_source=google and utm_source=Google as different sources, and recommends always setting source, medium and campaign, with one medium per channel. We write the sheet with your team and share a link builder that follows it.

OpenAI's publisher FAQ said in October 2026 that ChatGPT adds utm_source=chatgpt.com to the links it sends from search results; for other assistants we use the referring domain when the browser sends one. Our own site labels visits from ChatGPT, Perplexity, Claude, Gemini and Copilot as AI referrals. A referral is a click, not proof that an assistant recommended you; tracking how assistants describe your business is AI search optimization.

Testing, dashboards and handover

Every event is tested before handover, in each consent state, on desktop and on a phone: it must arrive once, in each tool, with the right parameters, and stop when consent is refused. Our own release build fails if any page in the sitemap is missing its Google Analytics or PostHog configuration.

Dashboards answer the plan's questions, one view each. The GA4 property, PostHog organization, Search Console and any tag manager stay in your company's accounts, with Dardo added as a user we remove when you ask. Tracking breaks quietly when pages change, so a website maintenance plan can recheck the key events monthly, and a website redesign should carry the plan into the new templates.

How much does analytics setup cost?

There is no published price for analytics setup; the quote follows the work. These factors move it most:

  • The number of sites, domains, languages and apps one setup measures
  • How many events, key events, forms and checkout steps the plan covers
  • Consent needs: visitors in the European Economic Area, a consent platform, Global Privacy Control
  • Server-side conversions and CRM or payment integrations
  • Cleaning up an existing GA4 property or tag manager rather than starting fresh

Tool subscriptions are billed to your own accounts, not resold through us. You provide access, a person who owns the numbers and one working session with marketing and sales. Our prices and budget ranges cover the services that do have published starting prices.

Questions before you choose

How long does an analytics setup take?

The proposal sets dates once the scope is clear. The plan needs one working session and a review round; implementation waits on access to your site, analytics accounts and CRM, which is the most common delay. After launch, let real traffic confirm each event before anyone makes decisions from the new reports.

Can you fix our existing GA4 property instead of starting over?

Usually, yes. We remove duplicate and misnamed events, correct the key events and keep the same property, so history stays in one place. Key event changes don't rewrite past data, so we record the date the corrected tracking went live and nobody compares the two periods blindly.

Do we need a cookie banner?

It depends on where your visitors are and what the data feeds: visitors in the European Economic Area and data shared with ad platforms raise the bar most. A banner only helps if the tags obey it, so we test every consent state and confirm that a refusal stops the requests. Your counsel decides the policy; we implement it.

Why don't GA4 and our CRM agree on the number of leads?

Usually because clicks are counted instead of stored submissions, events fire twice, some visitors refuse analytics or block scripts, or the tools use different attribution and time zones. We count leads where the server stores them, deduplicate them and document the expected gap, so a difference is explained rather than argued about.

Should we use Google Tag Manager?

Use it when your marketing team needs to add ad tags without waiting for a developer. The trade-off is that anyone with access can add a script that slows the site or ignores consent. On sites we build, we often define stable events in the code, tested with every release, and keep Tag Manager for third-party tags.

Can PostHog session replay run without recording personal data?

It can be set up that way. We mask every input, leave forms and private elements out, strip query strings from recorded addresses and keep console logs and network bodies off, then review sample recordings before launch. That is how replay runs on our own site.

From the blog

Sources & further reading

Sources behind this page, with further detail from the original publishers.

From numbers nobody trusts to a measurement plan

Tell us what you need to decide each month, what your site runs on and which tools you already use. We reply with how the plan, setup and testing would be scoped.