Selling on your storefront
Events widget for a website outside Shopify
Show your Shopify events on a WordPress, Wix or other website with the embeddable events widget: the two-line snippet, its settings and what it shows.
Updated September 24, 2026
The embeddable widget lists your Shopify events on another website, such as WordPress, Wix or your own site. Each event card links back to its product page on your store, where the shopper buys.
Add the widget to your site
- In the app, open Settings and scroll to Embeddable widget.
- Click Copy embed code.
- Paste the code into the HTML of the page on your other site, where the list should appear.
The code has two lines. The app fills in your store's address and your accent color:
<div data-easy-tickets data-shop="your-store.myshopify.com" data-accent="#1990C6"></div>
<script src="https://events.upsellshark.com/api/widget.js" defer></script>
The first line marks where the list goes, and the second loads the widget. One page can hold several widgets.
Settings
You set these as attributes on the first line.
| Attribute | What it does | Default |
|---|---|---|
| data-shop | Your myshopify address. Required. | Filled in for you |
| data-limit | The most events to show | 10 |
| data-accent | The color of the "Get Tickets" label and of the card border on hover | Your Accent color from Settings > Brand settings |
To show five events, add data-limit="5" to the first line. Without data-shop, the widget shows "Missing data-shop attribute".
What it shows
The widget draws up to data-limit events as one column of cards, at most 640 px wide, in date order. Each card shows:
- the event name
- the date and the start and end time, in your store's language, date format and 12 or 24-hour setting
- the venue name, or "Online event"
- on the right, the lowest price with a "Get Tickets" label, or a red "Sold out" label
- for events you announced before sales open, "Upcoming" with "Tickets available soon"
The whole card is a link that opens the product page in a new tab.
With no events to show, the widget says "No upcoming events." If it cannot reach your store, it says "Unable to load events."
Where the events come from
The widget reads your events through your own store's address, from the same list the Events page block uses. Only events whose Shopify product is Active and that are not archived appear.
The list carries no attendee data, no order data and no online join links.
Changes show the next time the page with the widget loads. The dates of a recurring event can be up to 30 seconds old.
Limits
- Past events are not filtered out. The widget sorts every listed event by start date, so ended events come first. Archive them, or set their product to Draft, as explained in pause, hide, archive, duplicate or delete an event.
- A recurring event is one card with the series' own start date. Its separate dates are not listed.
- The styling is fixed. The widget uses its own system font, shows no images and ignores your site's fonts.
- There is no search, filter, featured event or grid layout.
- Nobody buys on the other site. Checkout happens on Shopify.
- A store behind a password page cannot serve the widget.
Remove it
Delete the two lines from your other site's page. Nothing needs changing in the app.
See also
- Settings, where the Embeddable widget section and your accent color live
Frequently asked questions
Does the widget hide events that are over?
No. It lists every visible event that is not archived, in start-date order, so ended events come first. Archive old events, or set their Shopify product to Draft, to take them off the widget.
Can shoppers buy tickets inside the widget?
No. Each card opens the event's product page on your Shopify store in a new tab, and the purchase happens there.
Can I change the widget's layout?
Only how many events it shows (data-limit) and its accent color (data-accent). The widget is always one column of cards with its own fixed styling.
Does the widget work while my store has a password page?
No. The widget reads your events through your store's own address, and a store behind a password page blocks that, so the widget cannot load.