Embedded checkout

Embedded checkout lets you sell tickets directly on your own website. Instead of sending visitors to your Cleartix page, the ticket widget lives on your site and they buy without leaving it.

1. Add the snippet

Open your published event, go to the Manage tab and choose Embed widget. Copy the small embed snippet shown there and paste it into your website's page where you want the ticket widget to appear.

2. Visitors buy in place

The widget loads inside your page. Visitors choose tickets, fill in any details and pay — all without leaving your website. If your event uses timeslot booking, visitors pick their timeslot first, right in the widget.

3. Same tickets, same confirmation

After payment, buyers receive exactly the same confirmation email and tickets as a normal order placed on your Cleartix page. Everything downstream — scanning, refunds, reporting — works identically.

Tip: Combine embedded checkout with your branding so the widget's colours and logo match your website and the experience feels seamless.

Access codes work in the embedded checkout too: buyers can type them in, and an ?unlock= link to the page with the embed unlocks the hidden tickets there.

Measure conversions on your own site

If you run your own analytics (Umami, Plausible, Google Analytics …), your site can follow how far visitors get in the widget:

  • Source: utm_* parameters on the page with the widget are passed on to the order. You'll find them in Analytics → Sales by channel.
  • Checkout started: the widget posts the message CLEARTIX_CHECKOUT_START to your page as soon as the buyer places the order.
  • Free order completed: the widget posts CLEARTIX_SUCCESS.
  • Paid order completed: payment happens at Mollie or Stripe. Cleartix then shows the confirmation and sends the buyer back to your page with ?cleartix=confirmed in the URL.
window.addEventListener('message', (e) => {
  if (!e.origin.endsWith('.cleartix.io')) return;
  if (e.data?.type === 'CLEARTIX_CHECKOUT_START') { /* checkout started */ }
  if (e.data?.type === 'CLEARTIX_SUCCESS') { /* free order completed */ }
});
if (new URLSearchParams(location.search).get('cleartix') === 'confirmed') { /* paid order completed */ }

The return after payment happens after a few seconds; buyers who close the confirmation earlier don't come back. The complete numbers are always in Cleartix.

Want to show several events at once, as a list or calendar? See Embed an events widget.

Last updated: October 27, 2026

Ready to get started?

Create a free ClearTix account and sell your first tickets today.

Embedded checkout — Help center