Easy Tickets & Events docs

Features

Embeddable events widget

Drop a one-line JavaScript snippet onto any external website to show your live events with deep links back to your Shopify product pages.

If you sell tickets on Shopify but your main brand site lives elsewhere (WordPress, Webflow, Squarespace, custom), the embeddable widget lets you show your events on the external site without a manual sync.

What it does

You paste a <script> tag on your external page. The widget loads, calls Easy Tickets' public API, and renders a styled card or list of your live events. Customers clicking through deep-link back to your Shopify product page where they complete checkout.

Zero external dependencies. No CMS plugins required. Works on any site that can host a script tag.

Setup

  1. In Easy Tickets, open Settings → Embed widget.
  2. Copy the snippet shown:
<script src="https://events.upsellshark.com/api/widget.js" async></script>
<div data-easy-tickets-events></div>
  1. Paste both lines into your external page's HTML at the place you want the widget to render.

The first script tag loads the widget code. The div is the placeholder where the widget renders.

Configuration via attributes

The div accepts data attributes:

  • data-count - max events to show (default 6).
  • data-accent - accent colour as a hex code (matches your brand).
  • data-feature-slug - prominently feature a specific event slug at the top.
  • data-layout - "list" or "grid" (default grid).

Example:

<div
  data-easy-tickets-events
  data-count="3"
  data-accent="#F43F8C"
  data-layout="grid"
></div>

What it looks like

Each event card shows:

  • Event name.
  • Date and time.
  • Location (or "Online" / "Virtual").
  • Price (lowest tier price).
  • A button labelled "Buy tickets" that deep-links to your Shopify product page.

The styling is responsive and minimal so it inherits typography from the parent page.

What it doesn't do

  • It doesn't render the popup or capture attendee info inline. The customer must click through to your Shopify product page.
  • It doesn't support inline checkout - that happens on Shopify.
  • It doesn't proxy any sensitive data. The public API returns only event metadata (name, date, location, price), no attendee data.

Public events API

If you want more control than the widget gives you, the underlying API is at https://events.upsellshark.com/api/events?shop=<your-shop-domain> and returns event JSON. You can render it yourself in any framework.

The API:

  • Is read-only.
  • Returns active events only (no draft, no archived).
  • Has rate limits to keep things fair.
  • Does not return attendee data, internal IDs, or anything sensitive.

Custom domains

If you run multiple events sites, you can run the widget on as many external sites as you want, all pointing to the same Shopify store. Each script tag works independently.

Performance

The widget script is small (low single-digit KB) and loaded async. It doesn't block the parent page render. The events API has a short cache so repeated loads from the same page are fast.

Removing the widget

Delete the script tag and div from your external page. The widget stops rendering. No further action needed.

What's next