A note for clients

Please check messages claiming to be from me

Someone is using a different email address to impersonate me and contact clients about supposed website updates and payments. Those messages are not from me.

Genuine emails from me only come from hello@derrick.dk. If you receive a request from another address, please do not act on it or make a payment. Contact me directly through this website to check first.

Contact me to verify

PostHog conversion tracking: what I’d measure first

A small event model and two views for tracking website enquiries in PostHog, with checks for errors, duplicates and lead quality.

9 min read By Derrick Kityo
A rendered analytics funnel and chart on lime green, labelled PostHog tracking, CONVERSION GUIDE

Before giving every click, field interaction and scroll depth an event name, I'd ask what we want to learn. The events become useful when they show people making progress.

The setup below follows a service or product marketing website from landing page to qualified enquiry. It keeps enough context to investigate a problem without rebuilding the tracking each month.

Event-plan builder

Start with one customer journey

Choose the outcome that matters. You will get a small event model with stable names, clear triggers and useful properties.

  1. 01
    service viewed

    A relevant service page is viewed

    Properties: service, landing_page, source_group

  2. 02
    contact clicked

    A visitor opens the enquiry route

    Properties: service, cta_label, page

  3. 03
    contact form started

    The first field receives focus

    Properties: service, form_version

  4. 04
    contact form submitted

    The server confirms delivery

    Properties: service, landing_page, source_group

  5. 05
    lead qualified

    The CRM records a useful opportunity

    Properties: service, landing_page, source_group

The rule

Track a few meaningful actions, keep their context stable and check them after each release. Connect the funnel to a business result.

Start with one journey

I'd start by writing down one journey in plain English. For a consultancy, it could be service page, contact start, then qualified enquiry. For software, it could be landing page, sign-up, then the first useful action. Once those steps are clear, you can decide which events you need.

  1. A relevant visitor arrives on a page.
  2. They show intent by opening the contact route or booking flow.
  3. They start the form.
  4. They submit successfully.
  5. The lead is accepted as a useful opportunity.

PostHog can measure the first four steps in the browser or app. Getting to the fifth usually means bringing in CRM or server-side data. Without that connection, a better form conversion rate can hide worsening lead quality.

A small set of events

Event Trigger Useful properties Question it answers
contact clicked A contact or booking route is opened page, destination, CTA label Which pages create serious next-step behaviour?
contact form started The first field receives focus page, form version Do people who show intent begin the form?
contact form submitted The server confirms a successful submission service, landing page, source group Which journeys produce enquiries?
contact form errored Validation or delivery fails error type, form version Where is the journey breaking?
lead qualified The CRM accepts the lead as qualified service, source group, landing page Which website activity contributes to useful pipeline?

Name events for what people are doing

With button clicked, you know an interface action happened. With contact form started, you know what the person was trying to do. That meaning can survive a redesign and make the dashboard easier for others to read. PostHog recommends an object-and-verb naming pattern, so I'd choose a pattern and use it consistently.

Stable property names and a small set of values make the tracking easier to keep consistent. For example, website-development gives you a controlled service value without depending on the button wording. Form messages, email addresses and other personal information should stay out of behavioural analytics.

Keep the first-touch context

Someone may read several pages before getting in touch. Keeping the session's first landing path, a cleaned referrer and explicit UTM values lets you attach that source to the result. Add them to the successful enquiry event and the contact notification.

The whole query string may contain personal or accidental data. You only need the fields you're expecting: source, medium, campaign, content and term.

Two views to start with

Journey funnel

The funnel follows landing or service page, contact intent, form start and successful submission. You can break it down by page group, device and source group. A considered purchase needs a conversion window that reflects that, rather than treating it like an instant checkout.

Quality table

Alongside that, compare submitted enquiries with qualified leads by landing page and source. It helps you see when a conversion increase is just bringing more unsuitable enquiries.

Checks before and after release

  • Confirm every event fires once on the intended action.
  • Check that a failed submission never fires the success event.
  • Verify property names and values in a test environment.
  • Check mobile, keyboard and embedded booking journeys.
  • Exclude internal and staging traffic from reporting.
  • Confirm no personal data enters event properties or recordings.
  • Annotate the release so changes in the funnel have context.
  • Retest the journey after form, CRM or consent changes.

What to investigate first

If people open contact but don't start the form, look at what the page promises and what gets in their way. If they start but can't submit, check validation, mobile behaviour and delivery errors. And if enquiries rise without qualified leads, revisit targeting and the sales handoff. The funnel gives you somewhere to start investigating.

The tracking sits alongside watching people use the site and speaking to customers. You still need judgement about what's worth building.

Official references

Frequently asked questions

Which conversion events should a website track?

Track progress that matters to the business, such as a successful form submission or accepted booking. Define the trigger, allowed properties and destination before adding every possible click.

Is clicking a submit button a completed conversion?

No. Validation or the request can fail afterwards. Record completion when the intended success condition is met. Check that duplicate submissions and repeated callbacks don't inflate the count.

How do I check that conversion tracking works?

You can check it by running the whole journey in a test session and comparing the event sequence with the destination record. Validation errors and retries need testing too. Keep a record of the consent behaviour and which properties must never be collected.

Turn the useful parts into shipped work.

Tell me what you are trying to improve and where it is getting stuck. I can help with the website, app, measurement and systems around it.

I build websites and apps

I work across product marketing and engineering, turning ideas into useful digital products and improving how they perform after launch.

Webflow developerWebflow LondonWebflow product workshop