Tracking (UTM & GA)
There are two ways to see widget traffic and behavior in your own analytics tools (GA4, GTM, and others).
| What it tells you | Where to set it | |
|---|---|---|
| UTM tags | Where visits to your product pages came from | Widget Studio → preset detail → Tracking (UTM) |
| Analytics event bridge | What visitors do inside the widget (open, watch, product clicks) | The Analytics event bridge toggle in the same section |
Both are configured per preset in the Widget Studio, so each widget can be tracked differently.
UTM tags
When a visitor taps a product tag in the widget and moves to the product page, UTM parameters are appended to that link. This is how GA attributes the visit to the shorts widget.
Choose one of three modes.
Account default (default)
With no configuration, the default UTM is appended:
utm_source=shortsworks&utm_medium=social&utm_campaign=shortsworks_product_clicked&utm_content=<short-id>Custom for this widget
Enter UTM values used only by this preset — useful when you run separate widgets per campaign or placement.
- Source (utm_source) and medium (utm_medium) are both required. If either is empty, the default UTM is used instead.
- Leave content (utm_content) empty to automatically fill in the ID of the clicked short, so you can tell which short drove the visit.
Do not append
No UTM parameters are appended to this widget's product links.
When to turn it off
When GA sees a link with UTM parameters, it rewrites the visit's traffic source. For example, a visitor who arrived from an ad and then taps a product in the widget may have later conversions attributed to shortsworks / social instead of the ad. If you manage ad attribution strictly, use this mode and measure widget behavior with the analytics event bridge below.
Analytics event bridge
UTM only covers the moment a visitor leaves the widget for a product page. To see whether they opened the widget and how much they watched, turn on the bridge.
Enable Analytics event bridge in the preset's Tracking (UTM) section, and pages with that widget will emit the events below to your site:
- With GTM — events starting with
shortsworks_are pushed todataLayer. - Other tools — browser CustomEvents starting with
shortsworks:are dispatched.
Events
| Event | When it fires |
|---|---|
widget_opened | A visitor taps the widget and the player opens |
content_view_started | A short starts playing |
content_skipped | A short is skipped before the end |
contents_viewed | A short is watched to the end |
product_clicked | A product tag is tapped and the visitor moves to the product page |
feed_like_pressed | A like is pressed |
Events carry the short ID (storyId/feedId), widget shape (widget_shape), product ID (product_id, on product clicks), destination URL (destination_url), and similar fields. No visitor-identifying values are included.
If your site has no GTM
The bridge only uses a dataLayer that already exists on your site — it never creates one. Without GTM, receive events with the CustomEvent approach below.
Connecting GTM → GA4
- In GTM, create a Trigger → Custom Event, set the event name to
shortsworks_.*, and enable Use regex matching. (For a single event, enter the exact name such asshortsworks_product_clicked.) - Create Data Layer Variables for the fields you want, e.g.
storyId,product_id,destination_url. - Create a Tag → Google Analytics: GA4 Event using the trigger above. Use
as the event name to keep theshortsworks_...names in GA4, and attach the variables from step 2 as parameters. - Open your store in GTM Preview mode and interact with the widget — you'll see the events arrive immediately.
Receiving CustomEvents directly
You can also listen without GTM:
<script>
window.addEventListener("shortsworks:product_clicked", function (event) {
// event.detail contains storyId, product_id, destination_url, ...
console.log("Shorts product click:", event.detail);
});
</script>Event names are shortsworks: plus the names in the table above. You can forward them to Meta Pixel or any other tool inside the listener.
Measuring purchases
With GA4, purchases in sessions that carry the UTM parameters appear in the traffic acquisition reports under your utm_source / utm_medium values.