Google Analytics

Connect your own GA4 property — Seaty sends 5 standard ecommerce events to your stream so you can build your own dashboards

Overview

Connect your organisation's own Google Analytics 4 (GA4) property and Seaty will send a small set of standard ecommerce events to your stream every time a customer interacts with one of your event pages. You then view, slice, and report on the data inside your own GA4 console — nothing for you to install, no SDK, no developer needed.

This sits alongside Seaty's own analytics. Seaty does not see or store any data from your GA4 property; you own it entirely.

Who uses this: Organisation administrators with the Organisation Edit permission. Useful for organisers who already use GA4 elsewhere on their website, or anyone who wants their own dashboards beyond what Seaty's Marketing tools provide.

How to set it up

At a glance: Get your measurement ID from your GA4 property → paste it into the organisation editor's Marketing section → save. Done.

1. Get your GA4 measurement ID

In your Google Analytics account:

  1. Click the Admin cog (bottom-left).
  2. In the Property column, click Data streams.
  3. Pick the web stream you want Seaty to send to (or create one if you don't have one yet — see Google's setup guide).
  4. Copy the Measurement ID at the top of the stream details — it looks like G-XXXXXXXXXX.

2. Paste it into Seaty

  1. Open your organisation editor → Marketing section.
  2. Paste the measurement ID into the Google Analytics field.
  3. Save.

That's it. Events will start flowing to your GA4 property the next time a visitor lands on one of your event pages and accepts the analytics cookie.

What Seaty sends to your GA4 property

Seaty sends 5 standard GA4 ecommerce events plus standard pageviews to your stream. The ecommerce events use GA4's recommended names so they integrate cleanly with the standard Monetisation reports; pageviews populate your Pages and Screens reports as you'd expect.

EventWhen it firesKey parameters
page_viewAny page navigation while a visitor is on one of your organisation's event pagespage_path, page_type, page_id, page_group
view_itemA customer loads one of your event pagescurrency, value (lowest ticket price), items[], event_name, event_tag, venue, seaty_event_id, seaty_organisation_id
select_itemA customer picks a specific event date (e.g. Friday's performance)event_name, event_tag, event_date, venue, seaty_event_id, seaty_organisation_id
add_to_cartA customer adds tickets to their basketcurrency, value, items[], event_name, event_tag, venue, seaty_event_id, seaty_organisation_id
begin_checkoutA customer starts the checkout processcurrency, value, items[], event_name, event_tag, venue, seaty_event_id, seaty_organisation_id
purchaseA customer successfully completes their ordertransaction_id, currency, value, items[], ticket_count, coupon, event_name, event_tag, venue, seaty_event_id, seaty_organisation_id

What Seaty does not send

  • Authentication, sign-up, or password reset events
  • Wizard / setup events from the admin dashboard
  • Internal Seaty telemetry like seat selection, scroll depth, CTA clicks
  • Refund events — these are an admin action and would distort your conversion view, so revenue figures in your GA4 reports may diverge slightly from what's shown in Seaty's own reports if you've issued refunds
  • Any personally identifying information (no email addresses, names, or addresses)

This keeps your GA4 reports clean and focused on the customer-facing funnel.

Several of the params above (like event_tag, event_name, seaty_event_id, venue) are sent as event-scoped custom parameters. By default, GA4 ignores them in reports — they show up only as (not set) until you register them as custom dimensions in your property.

If you want the parameters to appear in reports (so you can slice by event name, venue, etc.), register them once in GA4:

  1. Admin → Data display → Custom definitions → Custom dimensions → Create
  2. For each parameter you care about:
    • Dimension name: same as the parameter (e.g. event_tag)
    • Scope: Event
    • Event parameter: same as the parameter (e.g. event_tag)

The most useful to register are event_tag, event_name, venue, and seaty_event_id (the immutable internal ID that doesn't change if you rename your event).

It can take up to 24-48 hours after registration before reports start showing values.

Heads up — dimension cap. GA4 free properties allow 50 event-scoped custom dimensions total (GA4 360 raises this to 125). If you already use GA4 heavily for your own website and you're close to the cap, prioritise registering seaty_event_id and event_tag first — those two are enough to slice your Seaty traffic by event. Skip the others if you're tight.

Cross-domain attribution — important if you also have your own website

This is the single most common surprise organisers hit, so it's worth explaining clearly.

The issue: GA4 identifies visitors using a client_id cookie that is scoped per domain. A visitor who clicks a link on your-website.com to a Seaty event page (seaty.co.uk/your-event) gets one client_id on your domain and a different client_id on Seaty's domain. As far as GA4 is concerned, those are two separate visitors.

What that means in your reports: without configuration, all visits to your Seaty event pages will appear as (direct) / (none) in your acquisition reports — even when they came from your own website. The events still arrive correctly; you just lose the cross-site source attribution.

The fix (one-time, ~5 minutes):

  1. In GA4: Admin → Data Streams → [your web stream] → Configure tag settings (the gear icon)
  2. Click Configure your domains
  3. Add the following entries:
    • your own domain (e.g. your-website.com)
    • seaty.co.uk
    • seaty.eu.ngrok.io (only if you're testing against Seaty's staging environment — otherwise skip)
  4. Save

GA4 will now treat both domains as part of the same site, unify client_id across them, and properly attribute the source of every visit. Your reports will show the genuine acquisition path (e.g. Organic Search → your-website.com → seaty.co.uk → purchase).

If you don't have your own website (your only public presence is your Seaty pages), you can skip this entirely — client_id consistency only matters across multiple domains.

Seaty's existing Google Analytics consent applies to both Seaty's stream and your organisation's stream — visitors only see one consent prompt. If a visitor opts out of analytics cookies, neither Seaty's stream nor yours receives any data from that visitor.

Seaty's consent model is binary: events fire when the visitor has accepted analytics cookies, otherwise nothing fires at all. This functionally complies with UK/EU consent requirements (no analytics data transmits without consent). Seaty does not, however, send Google's explicit Consent Mode v2 signals (analytics_storage: granted/denied) — if your organisation has been audited specifically on Consent Mode v2 compliance and your auditors require those signals on every event, talk to us before going live.

You are responsible for accepting Google's Data Processing Addendum in your own GA4 console (Admin → Account Settings → Account Details). Seaty isn't acting as a data processor for the data flowing into your property — Google is. Most GA4 users have the DPA accepted by default; check yours if unsure.

Limits & caveats

  • Visitor must accept analytics cookies. Visitors who decline analytics cookies will not generate events on either Seaty's stream or yours. This is normal GDPR behaviour.
  • Real-time only after deployment. Historical visits before you set up the measurement ID won't appear — only new visits.
  • One ID per organisation. Each organisation has a single measurement ID; per-event measurement IDs aren't supported currently. If you need that, get in touch.
  • Refunds aren't sent. Your GA4 revenue figures will run slightly higher than your actual takings if you've issued any refunds — Seaty processes those internally without firing a refund event to your stream. Reconcile from Seaty's own Banking and Reporting sections for accounting purposes.
  • Seaty does not provide a read-side dashboard. You view your data in your own GA4 console (or any tool that consumes the GA4 Data API).
  • Marketing hub — overview of all marketing tools at the organisation level
  • Campaigns — Seaty's own trackable URLs and QR codes for promotions
  • Facebook Pixel — equivalent integration for Meta ads