Always included

Conversion Tracking for GA4, Google Ads & Meta

Registrations and ticket purchases land in your own analytics accounts. Server-side, ad-blocker-proof and only after cookie consent.

10 use cases to tick off

Everything this area covers. Missing something? Ask us.

  • Server-side relay for GA4, Google Ads and Meta – ad blockers do not see it
  • Six funnel events with cart value, ticket types and booking ID
  • Fires only after the participant accepts marketing cookies
  • Measure the registration funnel
  • Your own analytics account
  • Measured first-party through your own domain
  • Registration steps passed to the GTM or Matomo on your own website
  • No cookie banner unless you set up tracking yourself
  • Fonts and map from our own servers, videos only after a click
  • On request: free events without any provider that has a US parent company

Registration embedded on your website

Where people book decides how they are measured. Both ways can run side by side without counting a booking twice.

Embedded on your website: your own tags

The embed code passes every registration step to your page. If Google Tag Manager is installed there, the events land in its dataLayer automatically, and Matomo receives them as events. Connect GA4, Google Ads and the Meta pixel to them – under your own cookie banner and with the click IDs of your ads, which arrive on your page and not in the embedded form.

On the Quick Event booking page: server-side

Enter your IDs under Event → Tracking, and GA4, Google Ads and Meta receive the events through our tagging server. This covers everyone who books directly on the booking page. It does not apply inside the embedded form: browsers do not store cookie consent there, and without consent nothing is sent.

Which tracking events are sent?

The code passes these events to Google Tag Manager (dataLayer) and Matomo if they are installed on your page. Otherwise listen for window message events with type "qe:track". No personal data is sent.

EventWhenData
view_eventThe registration is shown—
begin_registrationRegistration started—
registration_stepEach participant form stepstep
begin_checkoutBefore paymentvalue, currency
purchasePaid booking completedvalue, currency, transaction_id
registration_completedFree registration completedtransaction_id

step counts the participant forms (1, 2, …), value is the basket total in currency, transaction_id is the booking ID.

dataLayer: { event, step, ecommerce: { transaction_id, value, currency } } · Matomo: trackEvent("Registration", event, step, value), on purchase also trackEcommerceOrder(transaction_id, value)

Using Google Tag Manager? Our template connects GA4, Google Ads and the Meta pixel to these events. In GTM, open Admin → Import container, choose the file and select Merge and Rename conflicting. Then enter your IDs in the variables starting with “QE –” and delete the tags you do not need. The Meta tags only fire once ad_storage consent is granted.

Download Google Tag Manager template (JSON)

No Google Tag Manager? Listen for the messages yourself – the origin is the address of your registration:

window.addEventListener('message', (e) => {
  if (e.origin !== 'https://your-event.quick-event.com') return;
  if (e.data?.type !== 'qe:track') return;
  // e.data.event, e.data.step, e.data.value, e.data.currency, e.data.transaction_id
});

You will find the embed code in the studio under Registration → Settings.

Common questions

More areas in Event basics

All 6 areas in the Event basics module

Included in every module.

Whether 80 or 8,000 guests. Building and testing is free.

Pick a time
Book a call