Vizup can push shopper interactions from your video widgets straight into your own Google Analytics 4. Once turned on, the widget sends two events into your store’s dataLayer (Google Tag Manager) or, if you run GA4 without GTM, directly through gtag:
| Event | What it means |
|---|---|
vizup_video_view | A shopper viewed a video in a Vizup widget — the player opening on a video, swiping to the next one, or a Spotlight carousel centering a video. Fires once per video the shopper lands on |
add_to_cart | A shopper added a product to cart from inside a Vizup video. Tagged with add_to_cart_source: "vizup_shoppable_videos" so you can tell Vizup-driven add-to-carts apart from the rest |
With these in GA4 you can see how many shoppers watch your videos, build a funnel from video view through add to cart, and compare how your different widgets perform.
Vizup only pushes the events — it does not install Google Analytics or Tag Manager for you. You need to already have GTM or GA4 (gtag.js) on your storefront.
In the Vizup app, go to Settings → Advanced and turn on “Send widget events to Google Analytics”, then Save.
This is off by default — nothing is sent to your analytics until you enable it.
If you use Google Tag Manager (the most common setup), we ship a ready-made container so you don’t have to build triggers and tags by hand.
vizup-gtm-container-template.json file.CONST - GA4 Measurement ID variable and set your GA4 Measurement ID (G-XXXXXXXXXX).add_to_cart tag and trigger, you can delete the imported add_to_cart ones and keep yours — the Vizup push uses the GA4-standard ecommerce block, so your existing ecommerce tag will pick it up automatically.The template includes:
vizup_video_view and add_to_cart events.Running GA4 without Tag Manager? See Running GA4 without GTM (gtag) below.
Tag Manager can send the event fields, but it cannot create custom dimensions — those live in the GA4 Admin. Until you register them, the data still arrives, but every report shows “(not set)” for these fields.
In GA4 → Admin → Custom definitions → Create custom dimension, add each of the following with Scope: Event and the Event parameter name matching exactly:
video_namevideo_idvideo_urlsection_namepage_urlpage_titleadd_to_cart_sourcevizup_visitor_idThe video fields come through on vizup_video_view, add_to_cart_source comes through on add_to_cart, and vizup_visitor_id is on both. Registering all eight covers both events.
vizup_video_view event and its GA4 tag fire.add_to_cart fires with add_to_cart_source = "vizup_shoppable_videos" and the ecommerce.items payload.Custom-dimension columns start filling in standard reports within about 24–48 hours after you register them. DebugView shows the data right away.
Once events are flowing, build a funnel in GA4 → Explore → Funnel exploration with these steps:
vizup_video_view — shopper viewed a Vizup video.add_to_cart, filtered to add_to_cart_source = vizup_shoppable_videos — added to cart from a Vizup video.begin_checkout — your store’s own native GA4 checkout event.purchase — your store’s own native GA4 purchase event.This shows you where shoppers drop off between watching a video and buying.
One important limit — read this before you draw conclusions. Steps 3 and 4 (begin_checkout and purchase) are your store’s own native GA4 ecommerce events, not Vizup events. Vizup does not run on the checkout or thank-you page, so it cannot tag those events. GA4 connects your add-to-cart to the eventual purchase using its own session and user stitching — the same way it links any add-to-cart to a purchase.
That means GA4 cannot, out of the box, tell you “this purchase came from a Vizup video.” The funnel shows the general shape of the path, but the checkout and purchase steps are not Vizup-attributed. For true “revenue from Vizup videos,” use the order-level attribution described below.
Advanced (optional): it is possible to carry the Vizup visitor id onto your GA4
purchaseevent, but only through custom work on your side — reading thevizup_sidorder attribute (see below) into your checkout/order-statusdataLayer. This is a merchant-side customization, not part of the standard setup.
Every vizup_video_view carries a section_name field — the internal name of the widget the shopper watched. Use it to compare how each widget type performs.
In GA4 → Explore → Free-form exploration:
section_name as a dimension (row).vizup_video_view.add_to_cart where add_to_cart_source = vizup_shoppable_videos to compare which widget types drive the most add-to-carts.This lets you see, for example, whether your carousels or your story bubbles are pulling more views and conversions.
vizup_video_view| Field | Value |
|---|---|
vizup_visitor_id | Persistent anonymous visitor id (or "NA") |
video_name | Video title (or "NA") |
video_id | Video id (or "NA") |
video_url | Video URL (or "NA") |
section_name | Internal Vizup widget name — the field you segment widget types by |
page_url | The page the view happened on |
page_title | The page’s title |
add_to_cartSent in the GA4-standard ecommerce shape, with two extra fields:
| Field | Value |
|---|---|
add_to_cart_source | Always "vizup_shoppable_videos" — how you tell Vizup add-to-carts apart |
vizup_visitor_id | Same persistent visitor id as above |
ecommerce.items[] | Standard GA4 items array (item_id, item_name, price, quantity); currency and value are included when the product price is available |