Google Ads: Track Ticket Sales as Conversions

Connect your Google Ads conversion tag so Google can attribute ticket purchases to your campaigns and optimise your spend toward real sales

Overview

If you run Google Ads campaigns that send people to your Seaty event pages, conversion tracking is how Google learns which clicks turned into ticket sales. Without it, Google can see clicks but has no idea what happened afterwards, so it can't optimise your bidding toward people who actually buy.

When you connect your Google Ads conversion tag, Seaty fires a conversion event back to Google every time someone completes an order, with the order value and currency. Google uses these to attribute sales to the right campaign and steer future delivery toward similar buyers.

This is separate from Google Analytics. GA4 answers "how do people behave on my pages?"; Google Ads conversion tracking answers "which ads made me money?" Most organisers running paid search use both. They don't conflict, and you can set them up independently.

Who uses this: Organisation administrators with the Organisation Edit permission who run Google Ads (search, display, or Performance Max) campaigns pointing at their Seaty events.

How it works

At a glance: Get your Conversion ID and Conversion label from Google Ads → paste them into the organisation editor's Marketing section → save. Optionally add an event-specific label per show.

Google Ads conversion tracking uses two pieces of information that go together:

  • Conversion ID: identifies your Google Ads account. It looks like AW-123456789. You have one of these, for your whole account.
  • Conversion label: identifies one specific conversion action inside that account. It's an opaque code Google generates, like AbC-9xK2pQr. You get a different one for each conversion action you create.

Both are required. The Conversion ID on its own loads the tag but records nothing; it's the label that tells Google which conversion just happened.

Important: the Conversion label is generated by Google when you create a conversion action. It is not a name you choose, and it is not your event's web address or tag. You always copy it out of Google Ads exactly as shown.

1. Create a conversion action in Google Ads

You'll need a Google Ads account (ads.google.com). Google's own walkthroughs are Set up conversion tracking for your website and Set up conversions manually.

Google's setup wizard changes its wording from time to time, but the path below matches its current "Conversions" flow. The decision points that matter for Seaty are called out, because they're easy to get wrong.

  1. In Google Ads, go to Goals → Conversions. The setup wizard opens (Get started → Create conversion actions → Summary). Under Choose data sources, tick Conversions on a website and add your website URL.
    • Use your Seaty address here, not your own website. The purchase completes on Seaty. Enter https://www.seaty.co.uk (or your specific event page). If you're testing, use your Seaty test/staging address.
  2. On Measure conversions on your website, choose the Google tag data source.
    • It will likely say "not installed yet". This is expected and fine. Seaty fires the tag itself; you are not installing any code on Seaty. Google's scanner can't see the tag because it only loads after the visitor accepts advertising cookies, on the order-completion page.
    • Do not use any detected Google Analytics property ("… Link") shown here. That's a separate import route, and may be Seaty's own analytics property rather than yours. Stick with Google tag.
  3. On Create a conversion, choose Manually with code (not "Automatically without code"). Despite the name, you won't paste any code into Seaty. This is simply the option that reveals the Conversion ID and label for you to copy.
  4. In Conversion settings:
    • Action optimisation: Primary action used for bidding optimisation.
    • Conversion name: something recognisable, e.g. "Seaty Ticket Sales" (or "Lytham Proms tickets" for a single show).
    • Goal/category: Purchase.
    • Value: Use different values for each conversion, and under "Set up using" keep Event snippet selected. The Event snippet is what exposes the label Seaty needs (the "Google tag" sub-option does not). Leave the default value as £1 GBP.
    • Count: Every (each ticket order is its own conversion).
    • Conversion windows and Attribution: leave Google's defaults (e.g. 90-day click-through, data-driven attribution) unless you have a specific reason to change them.
    • Enhanced conversions: leave this "Not configured". Seaty sends value-only conversions with no customer data, so there is nothing for Enhanced conversions to match against, and turning it on would only lead you toward adding code Seaty doesn't use. Leaving it off is correct and intentional, not a missed step.
  5. Click Done. You return to the Create and measure conversions screen, where your new action is listed as Purchase → Manual event (Primary). (The "you'll need to install code we'll provide" note refers to the manual method, which Seaty handles for you.) Click Save and continue to reach the final Summary / "Get instructions and finish" step.

2. Find your Conversion ID and label (and finish correctly)

On the final Summary / "You've almost finished!" page, three things matter:

  1. Get your values. Under "Set up your Google tag and event tags" (the Set up with a Google tag tab), find your conversion under "Measure individual conversions with event snippets" and click See event snippet. Google shows a code block containing a line like:

    'send_to': 'AW-123456789/AbC-9xK2pQr'
    

    The part before the slash (AW-123456789) is your Conversion ID. The part after the slash (AbC-9xK2pQr) is your Conversion label. You don't need the code itself, just those two values.

  2. Do not "Set up" a Google tag. That section may warn "No tag found for this account" with a Set up button. Ignore it. Seaty activates the Google tag itself at runtime, so you do not install a separate one. The warning is expected and does not stop conversions recording.

  3. Untick "Turn on enhanced conversions". This account-level checkbox is often pre-ticked. Untick it before finishing. Seaty sends value-only conversions with no customer data, so enhanced conversions has nothing to match, and leaving it ticked commits you to Google's enhanced-conversions data-processing terms for no benefit.

Then click Agree and finish.

Ignore any later "verify your tag" / "tag not detected" prompts too. The tag is real; Google just can't detect it by scanning, because Seaty only fires it after cookie consent on the completion page. Conversions still record once a real order fires.

3. Paste them into Seaty

The send_to value splits into two separate Seaty fields at the slash. Using the example AW-959758564/exN3CN3h4rgcEOSB08kD:

  1. Open your organisation editor → Marketing section.
  2. Under Google Ads:
    • Conversion ID → the part before the slash only, e.g. AW-959758564. Do not include the slash or the label here, or Seaty will reject it (the ID must be AW- followed by digits).
    • Default Conversion label → the part after the slash, e.g. exN3CN3h4rgcEOSB08kD.
  3. Save.

Copy the label, don't retype it. Conversion labels are long and case-sensitive (note they often start lowercase, like ex…). A retyped, truncated, or wrong-case label looks fine but silently records no conversions. Use Google's Copy button and split the value at the slash. Seaty will flag an ID in the wrong format and warn you if the label looks too short, but it cannot check that the label is the exact right value, so always copy it rather than typing it.

That's the whole setup. From now on, every completed order for any of your events fires a conversion to Google Ads against this default conversion action.

4. Check it's working

Key point: Seaty fires the conversion on every completed order, no matter how the customer arrived. But Google Ads only counts it as a conversion if that customer clicked one of your Google Ads first. Google matches the sale to the ad click using the Google click ID (GCLID) stored at click time. A purchase from someone who came any other way (direct, organic, social, a test booking you make yourself) still fires the tag, but Google has no ad click to attribute it to, so it won't appear in your conversion reports.

There are therefore two separate things to verify:

  1. Is the tag firing, with the right label? (this is the Seaty side) Open Google's Tag Assistant, add your Seaty event page's address, start a debug session, and make a test booking. You should see your AW-… tag and a conversion event fire. Check the conversion's label matches your real one exactly (and the value looks right), not just that a conversion fired. A wrong, truncated, or wrong-case label still fires a request with a value, but Google silently discards it because no conversion action matches, so "I can see a conversion fire" is not enough on its own. This check works on any purchase, including a direct test one.
  2. Is Google recording attributed conversions? This only happens for purchases that followed a real click on a live Google Ad. A direct test booking will fire the tag (step 1) but will not show as a recorded conversion in Google Ads. Once your ads are running and customers click them, conversions appear in Goals → Conversions.

In Google Ads, the conversion action may show "Misconfigured" / "No recent conversions" until it receives ad-attributed conversions. This is expected before your ads are live, and a direct test booking won't clear it. (Google also can't auto-detect the tag by scanning, because Seaty only fires it after consent on the completion page.) If it persists after real ad-driven purchases are happening, check the Conversion label in Seaty matches exactly (case/truncation). The Google Ads Help Centre explains the status messages.

Reporting on individual events

By default, every event's sales are tracked against the single default conversion action you set at the organisation level. That's perfect if you just want total ticket-sale conversions.

If you want to report on a specific event on its own (for example, to see how a campaign for one show performed), you can give that event its own conversion action:

  1. In Google Ads, create a second conversion action (as in step 1 above) named for that event.
  2. Copy its Conversion label (the Conversion ID is the same as your account's, so it doesn't change).
  3. Open that event's editor → Marketing → Google Ads and paste the label into the event-specific field.

Now purchases for that event report against its own conversion action in Google Ads, while every other event keeps using the organisation default.

To confirm an event's own label is working, make a test booking for that event and check Tag Assistant shows the event's label in the send_to (e.g. AW-…/your-event-label) rather than the organisation default. A sensible order is to test once with the field blank (you'll see the org default fire), then add the event label and test again (you'll see it switch to the event label). Events you leave blank correctly fall back to the organisation default.

The event-specific field only appears once Google Ads is set up at the organisation level, because the per-event label still relies on your account's Conversion ID. If you haven't added the Conversion ID yet, the event editor links you to where to do it.

Don't want to manage labels per event? You don't have to. Two simpler ways to see per-event performance: (1) run a separate Google Ads campaign per event, since Google attributes each conversion to the campaign that drove the click; or (2) use the Google Analytics route below, which avoids Conversion labels entirely. See Alternative: measure conversions via Google Analytics for the full steps.

Alternative: measure conversions via Google Analytics (no Conversion ID or label)

If you already connect your own GA4 property to your organisation, you don't have to set up a Google Ads conversion tag at all. Seaty already sends a full purchase event to your GA4 property on every completed order, so you can link that property to Google Ads and import the purchase event as a conversion. There is no Conversion ID or label to manage in Seaty, which avoids the case-sensitive label step entirely.

Know this trade-off first: this route rides on your visitors' analytics cookie consent, whereas the native Google Ads tag rides on advertising consent. They are separate choices, so the two methods do not count exactly the same visitors (more below). Pick one as your main measurement; you can run both, but mark only one as the primary bidding action.

Step by step:

  1. Connect GA4 in Seaty. In the organisation editor, Marketing, Google Analytics: paste your G-XXXXXXXXXX measurement ID and save (see the Google Analytics guide). From then on, Seaty sends a purchase event to your property on every completed order, carrying the order value, currency, a deduplicating transaction ID, the ticket items, and an event_tag for the show.
  2. Make purchase a key event in GA4. Make a test booking, then in GA4 open Admin, Data display, Events (use the Realtime view to see it sooner). When purchase appears, toggle it on as a Key event. Only key events can be imported into Google Ads.
  3. Link your GA4 property to Google Ads. In GA4: Admin, Product links, Google Ads links, Link, then choose your Google Ads account. You need edit access to both accounts.
  4. Import the conversion into Google Ads. In Google Ads: Goals, Conversions, New conversion action, Import, Google Analytics 4 properties, Web. Tick the purchase key event and import it. Set it as a Primary action if you want it used for bidding. Google records the order value and currency automatically and deduplicates on the transaction ID.
  5. Report per event. Seaty stamps every purchase with an event_tag. Register it once as a custom dimension in GA4 (Admin, Data display, Custom definitions, Custom dimensions, Create: dimension name event_tag, scope Event, event parameter event_tag). After that you can break conversions down by individual show inside GA4, with no separate conversion action per event. Allow 24 to 48 hours for values to appear.

Which route should you choose?

  • GA-only is simpler once GA4 is connected, has no per-event label to manage, and gives per-event breakdowns through the event_tag dimension. It counts purchases from visitors who accepted analytics cookies.
  • The native Google Ads tag counts purchases from visitors who accepted advertising cookies and feeds Google Ads' own attribution directly. Choose it if you do not use GA4, or you want advertising-consent measurement.
  • The totals will not match exactly: a visitor who accepts analytics but declines advertising is counted by the GA-only route but not the native tag, and vice versa. Imported GA4 conversions also use GA4's attribution model rather than Google Ads' own.
  • You can run both, but mark only one as the primary bidding action, or Google may double-count toward optimisation.

What Seaty fires

When an order is completed (after successful payment), Seaty fires a single conversion event to Google Ads with:

  • send_to: your Conversion ID plus the relevant label (event-specific if set, otherwise the organisation default)
  • value: the order total
  • currency: GBP
  • transaction_id: the Seaty order ID, which lets Google de-duplicate the conversion if the customer refreshes the confirmation page

This fires in addition to, not instead of, the Google Analytics purchase event (if you've connected GA4) and the Facebook Pixel Purchase event (if you've added a Pixel). Each goes to its own platform; they don't interfere.

What we don't send

Seaty's Google Ads conversions are value-only. We tell Google that a purchase happened, with its value and currency, the same minimal signal a Google Analytics conversion carries. We do not send any customer personal data (no email, name, or address, hashed or otherwise) to Google. Your attendees' data stays with Seaty.

Google Ads conversion tracking is an advertising purpose, so it is governed by the visitor's "Advertising" cookie consent, the same consent category as the Meta Pixel, and separate from the "Google Analytics" (analytics) consent. The conversion tag loads and the conversion event fires only when the visitor has accepted advertising cookies. A visitor who accepts analytics but declines advertising will be tracked in GA4 but not counted as a Google Ads conversion, and vice versa. If they decline advertising, nothing fires to Google Ads. The order still completes normally, and Google just won't be told about it. This is a GDPR/PECR requirement.

As with any ad platform, your actual ticket sales will usually be higher than the conversions Google reports, because of consent declines, ad blockers, and cross-device journeys.

If conversions aren't recording

Almost every setup problem is one of these, so check them in order:

  • The purchase didn't come from a Google Ad click. Google only counts conversions it can attribute to an ad click (via the GCLID). A direct/organic/social purchase (including a test booking you make yourself) fires the tag but is not counted in Google Ads reports. This is the most common "my test didn't show up" cause, and it's not a fault. Verify firing with Tag Assistant instead (see "Check it's working").
  • The Conversion ID field contains the whole send_to (with a slash). It must be only the AW- + digits part, e.g. AW-959758564. The bit after the slash is the label and goes in its own field. Seaty rejects an ID that has a slash in it.
  • The Conversion label is wrong. Labels are long and case-sensitive and often start lowercase (e.g. exN3…). Retyping or truncating it means conversions silently never record. Copy it straight from Google's event snippet. Don't type it.
  • No Conversion label is set. The Conversion ID on its own loads the tag but records nothing.
  • You (or a visitor) didn't give advertising consent. Conversions only fire after the visitor accepts advertising cookies, so your real sales will always be higher than Google reports.
  • Google shows "Misconfigured" or "tag not detected". Expected before your first real conversion. It clears once a genuine booking fires. Seaty fires the tag itself, so Google can't detect it by scanning your pages.
  • Enhanced conversions got switched on. Leave it off. Seaty deliberately sends no customer data for it to use.

If a single event isn't reporting separately, check its event-specific Conversion label in the event editor (same copy-don't-retype rule), or that you've left it blank to use the organisation default.

Limits & caveats

  • Conversion ID is account-wide. One per organisation, matching your one Google Ads account. Per-event Conversion labels are supported (above), but the ID is shared.
  • Both values are required. A Conversion ID with no label loads the tag but records no conversions. Seaty warns you in the editor if only one is filled in.
  • The label must be copied exactly. It's Google's generated code, case-sensitive. A wrong or made-up label (including using your event web address) silently records nothing.
  • Client-side only. Seaty fires conversions from the customer's browser using Google's tag, not server-to-server via the Google Ads API. Browser ad blockers and strict tracking protection can suppress some conversions.
  • Google Tag Manager containers (GTM-XXX) are not supported. Paste the Conversion ID and label directly; you don't need GTM.
  • Reporting lives in Google Ads. Seaty sends the conversions outward; you view and attribute them in your own Google Ads account, not inside Seaty.

Removing the tag

Open the organisation editor's Marketing section, clear the Conversion ID and label, and save. From that point no further conversions fire to Google Ads. Any event-specific labels become inactive automatically, since they depend on the organisation Conversion ID.

  • Google Analytics: measure on-page behaviour with your own GA4 property, and an alternative route to per-event conversions in Google Ads
  • Marketing hub: overview of all marketing tools at the organisation level
  • Facebook Pixel: equivalent conversion tracking for Meta ads