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.
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.
Consent, privacy and data retention
Which tags may run depends on where your visitors are and what the data feeds. For visitors in the European Economic Area, Google requires advertisers to collect consent and pass it through consent mode, including the ad_user_data and ad_personalization signals, to keep using ad measurement, personalization and remarketing. In basic mode, tags wait for the choice and send nothing on a refusal; in advanced mode, they load at once and send cookieless pings that Google uses for modeling.
In California, a business covered by the CCPA that sells or shares personal information, including for cross-context behavioral advertising, must treat Global Privacy Control as a valid opt-out request. Retention is a setting too: a standard GA4 property keeps event data for 2 or 14 months, which limits explorations and funnel reports, not standard reports. We set it and record it in the handover.
On dardo.studio, a site aimed at the US and Latin America, analytics runs by default with advertising storage denied and Google signals off; a footer setting, Global Privacy Control or Do Not Track stops the scripts from loading. A site with real traffic from the European Economic Area gets a consent-first setup instead. We implement the policy your counsel approves; it isn't legal advice.
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
- PostHog vs Google Analytics: which one a marketing site or SaaS product needs, and when to run both
GA4 links to Google Ads and Search Console; PostHog adds replay, feature flags and experiments. Which one you need, what each costs and how to run both.
Sources & further reading
Sources behind this page, with further detail from the original publishers.
- Google Analytics Help: Mark events as key eventssupport.google.com
- Google Analytics Help: Data retentionsupport.google.com
- Google Ads Help: Updates to consent mode for traffic in the European Economic Areasupport.google.com
- Google Analytics Help: Consent mode on websites and mobile apps (basic and advanced)support.google.com
- California Privacy Protection Agency: What is OOPS and how does a business respond?cppa.ca.gov
- Google Analytics Help: URL builders, collect campaign data with custom URLssupport.google.com
- OpenAI Help Center: Publishers and Developers FAQ (archived 4 October 2026)web.archive.org
- PostHog: Pricingposthog.com
