Analytics & Tracking

Custom Event & Conversion Tracking
Every Action That Matters, Captured Cleanly.

We plan what your site reports, then track each action that matters: purchases, leads, sign-ups, and the smaller steps before them. Each one carries the details, such as what was bought and how much it was worth, so you can see what drives leads and closed revenue.

Get a Free Tracking Audit arrow_forward
↑ 3.8×
Revenue Attribution Clarity
98%+
Event Parameter Completeness
↓ 55%
Unexplained Conversion Drop
95+
Custom Event Implementations

Why Most "Conversion Tracking" Is Incomplete or Brittle

Common Failures

  • Only tracking form submits with no context about which offer or page
  • Purchase events without line items, discounts, or payment method
  • Lead events that fire on every partial form interaction
  • No way to tell a casual inquiry from a lead your sales team wants
  • Events that break the moment the site gets a redesign

Our Standard

We write down the full list of actions to track first. Each one has a clear business meaning, the details it must carry, and a place in your sales path. Then we build it to survive site changes and still send clean data to your ads, CRM, and analytics.

Technical Implementation Patterns We Use

dataLayer Design

  • Standard + Custom Events: We follow Google ecommerce and lead gen specs exactly, then layer on the custom events that actually matter for your business (pricing viewed, demo booked, account upgraded, etc.).
  • Parameter Hygiene: Consistent types, no PII in event names or parameters unless hashed and documented, currency and value always present on revenue events.
  • Item Arrays: Full item data for every purchase and add-to-cart so you can analyze by category, product, and margin.

Defensive & Future-Proof

  • Event Versioning: We include event_version or schema_version parameters so you can evolve events without breaking historical analysis.
  • Centralized Tracking Library: When possible we push a small, versioned tracking helper so developers do not copy-paste GTM listeners everywhere.
  • Server-Side Enrichment: User properties and transaction values that are only known server-side are sent via Measurement Protocol or server GTM.

Our Custom Event & Conversion Tracking Process

01

Funnel & Action Mapping

Workshop to list every action that indicates intent or revenue, from first anonymous visit to closed deal and upsell.

02

Event Taxonomy & Schema

Name each event, list the details it carries, and decide how it feeds GA4, your ad platforms, and your CRM stages.

03

dataLayer & Listener Implementation

Add the code that passes each action to GTM in the right places (or reuse what exists). Build triggers and variables that keep working when the page layout changes.

04

Parameter & Value Enrichment

Add user properties, item details, campaign context, and any server-side values (margin, LTV tier, contract length).

05

Validation Across Stack

GTM debug, GA4 debugView, ad platform test events, CRM payload inspection, and real-user production traffic validation for 7+ days.

06

Docs & Maintenance

Living event catalog with examples, change process, and alerts when critical events drop below expected volume.

FAQ

Common questions

What to know before you get started.

How do you decide which micro-conversions are worth tracking? expand_more
We score every action by two axes: how strongly it predicts revenue or pipeline movement, and how cleanly it can be measured without false positives. Only actions that score high on both make the final list.
Do you fire events on the client only or also server-side? expand_more
Both when it adds value. Client for immediate UX signals and page context. Server for anything that must be trusted (actual payment success, subscription started, high-value lead marked by sales). We deduplicate using transaction_id or lead_id.
What parameters do you always include on lead and purchase events? expand_more
lead_id or transaction_id, value (with currency), lead_source or channel context, campaign parameters (or gclid/fbclid), user type or tier if known, and any experiment or variant ID that was active.
How do you handle form tracking when forms are loaded via JS or in modals? expand_more
We listen for submit on the actual form elements and also watch for success states in the UI or dataLayer. We capture which form (by id or data attribute), which step if multi-step, and any visible offer context.
Can you track events that happen after the user leaves the site (phone calls, offline)? expand_more
Yes. Call tracking platforms, CRM webhooks, and offline conversion uploads all feed back into the same event model. We make sure the original click ID or user ID travels with the offline record.
How do you prevent duplicate events when users refresh or click fast? expand_more
We use transaction_id or a generated event_id with deduplication logic in GTM or server-side. For non-transaction events we often use a short client-side debounce or sessionStorage flag.
What about events that should only fire for certain user segments? expand_more
We gate them with user properties or dataLayer flags (logged_in, customer_type, experiment_cohort). The trigger conditions are explicit and documented so they do not accidentally fire for the wrong audience.
How do you evolve the event schema over time without breaking old data? expand_more
We version events (add event_version) and treat new parameters as optional. Old events keep working. BigQuery views can coalesce old and new schemas for consistent reporting.
Do you track negative or failure events (form error, checkout abandoned)? expand_more
Yes. These are often more diagnostic than success events. We track form_error, checkout_step_error, payment_failed with the step and reason when available. They power UX and CRO work.
How do you make sure value is reported in the correct currency? expand_more
We always pass currency explicitly with the value. For multi-currency sites we normalize or keep the original and handle conversion in reporting. We test with real orders in each currency.
Can you backfill historical events if the site had poor tracking before? expand_more
Limited. We can sometimes reconstruct from server logs, CRM records, or ad platform data and upload offline conversions. Purely client-side events from the past are usually lost.
How do you handle single-page apps and client-side routing? expand_more
We listen to router events (or history changes) and fire virtual page_view + the appropriate custom events. We make sure the dataLayer has stable page context even when the URL does not change.
What level of detail do you put in the items array for non-ecommerce sites? expand_more
For lead-gen and SaaS we often model "items" as the offer, plan, or content piece the user engaged with. It lets us analyze performance by product, tier, or content type the same way ecommerce teams analyze SKUs.
How do you test that events are reaching ad platforms correctly? expand_more
We use the official test event tools (Google Ads test events, Meta Events Manager test, Microsoft Advertising UET tag helper), plus we look at real delivery in the platforms after the 24-48h modeling delay.
How long does solid custom event work usually take? expand_more
Core revenue and lead events with parameters: 2-4 weeks. Full funnel with micro-conversions, server enrichment, versioning, and team docs: 5-8 weeks.

Ready to know exactly which actions turn into revenue?

Get a free tracking audit. We will map and show you the complete event system your business actually needs.

Get My Free Tracking Audit arrow_forward

Marketing from $500 USD a month

Month to month, no commitment. One fee covers the pages, the search and ad work and the tracking. Ad spend is separate and stays in your own accounts.

Starting at

$500 USD per month

Free to cancel with 1 month's notice. Tell us what you sell and where. We come back with what the first month would fix.

Get a Free Audit

What $500 a month covers

  • Pages

    Included

    Pages built around the searches your buyers actually type.

  • Search and ads

    Included

    Search and ads aimed at people ready to inquire.

  • Tracking

    Included

    Calls, forms and bookings tagged to the search, ad or page behind them.

Our team

The same people on the audit and on the work

Martin writes every audit and takes the first call. The same team stays on the account. 160+ businesses since 2010.

Martin, Founder, strategy and audits

Martin

Founder, strategy and audits

Writes every audit and takes every first call. On your account from day one, running growth for SMEs since 2010.

Yoana, Social and app development

Yoana

Social and app development

Shapes social strategy and builds practical app experiences that turn attention into action.

Mike, SEO

Mike

SEO

Owns technical, local and content SEO so the right buyers find you when demand is highest.

Robert, Paid media

Robert

Paid media

Plans and manages paid search and social campaigns around qualified leads.

Elmer, Analytics

Elmer

Analytics

Connects tracking, attribution and reporting so decisions are based on revenue-quality data.

Dino, Design

Dino

Design

Creates clear brand and conversion-focused design across landing pages, campaigns and product experiences.

Certified and experienced

Certified where it matters. Accountable for the outcome.

Verified platform knowledge, 25+ years of hands-on experience, and an operating track record since 2010.

Google AdsCertified
Google AnalyticsCertified
Google Tag ManagerCertified
Operating since 2010Proven experience