1. Overview
Every Vepple customer receives a Performance Dashboard that tracks how their Guided Tour, Group, and Post embeds are performing out of the box. This includes: Impressions, Interactions, Stop progression, Content Spot interactions and other direct embed engagement signals
This dashboard shows how users interact with Vepple-powered content on your site, without needing any external setup.
What it does not show is how embed interactions influence the rest of a visitor’s session on your website. Many customers want to answer questions such as:
- Are users who interact with embeds more likely to convert
- Do Guided Tours correlate with higher enquiry or application intent
- Do Content Spots lead visitors to spend longer on the site
- How do different audiences or channels behave after interacting with embeds
To analyse these behaviours inside your own GA4 property, you can send Vepple embed data via Google Tag Manager. This article explains how to do that using a downloadable GTM configuration that you can import and merge into your existing container.
2. What this guide covers
- The browser events that Vepple embeds send
- What the GTM import includes
- How to import and merge the configuration
- How to verify that tracking is working
- How to use embed data inside GA4
- Troubleshooting tips
3. Browser events sent by Vepple embeds
Each Guided Tour, Group, and Post embed emits structured browser events that GTM can listen for. These events include details about what the visitor has viewed or interacted with.
The available event types are:
| Event name | Description |
| vepple_loaded | The embed has loaded on the page |
| vepple_first_interaction | User has interacted with the embed for the first time |
| vepple_content_interaction | User has interacted with a specific piece of content (stop, post, ambassador media, content spot etc.) |
These events also include metadata such as (but not limited to):
- Vepple_embed_type - guided tour or group
- Vepple_tour_name - public name of the tour
- Vepple_tour_id - cms id of the tour
- Vepple_post_name - public name of the current post
- Vepple_post_id - cms id of the current post
- Vepple_content_type - panorama, gallery, instagram, tiktok, video etc.
- Vepple_content_location - main canvas or content spot
- Vepple_tour_position - the current stop position (starting from zero)
- Vepple_event_name - used to differentiate content interaction types such as stop view, ambassador bubble played, content spot view
These values are exposed in GTM using Data Layer Variables included in the import.
4. What the GTM configuration includes
The downloadable GTM configuration file contains everything needed to listen for Vepple embed events and forward them to GA4. It is designed to safely merge with your existing container.
Included in the import:
4.1. Custom Variables
These extract values from the eventModel object inside the Data Layer.
| Variable name | Extracts | Data Layer path | Edit? |
|---|---|---|---|
| vepple_embed_main_website_ga4_measurement_id | Your GA4 Measurement ID (editable) | Static template variable | ✅ |
| vepple_embed_dl_vepple_event_name | Type of content interaction | eventModel.vepple_event_name | ❌ |
| vepple_embed_dl_embed_type | Embed type | eventModel.vepple_embed_type | ❌ |
| vepple_embed_dl_vepple_tour_name | Tour name | eventModel.vepple_tour_name | ❌ |
| vepple_embed_dl_vepple_tour_id | Tour ID | eventModel.vepple_tour_id | ❌ |
| vepple_embed_dl_vepple_post_name | Post name | eventModel.vepple_post_name | ❌ |
| vepple_embed_dl_vepple_post_id | Post ID | eventModel.vepple_post_id | ❌ |
| vepple_embed_dl_vepple_content_type | Content type | eventModel.vepple_content_type | ❌ |
| vepple_embed_dl_vepple_content_location | Content location | eventModel.vepple_content_location | ❌ |
| vepple_embed_dl_vepple_tour_position | Stop position inside tour | eventModel.vepple_tour_position | ❌ |
These provide all the parameters needed to enrich your GA4 events.
4.2. Custom Event Triggers
The GTM import contains six triggers, each tuned to specific Vepple event types.
| Trigger name | Fires when | Notes | Edit? |
|---|---|---|---|
| vepple_embed_loaded | event = vepple_loaded | For impressions | ❌ |
| vepple_embed_first_interaction | event = vepple_first_interaction | First engagement | ❌ |
| vepple_embed_content_interaction | event = vepple_content_interaction | All content interactions | ❌ |
| vepple_embed_stop_view | event = vepple_content_interaction AND vepple_event_name = contentLoad AND vepple_content_location = post | Stop view events | ❌ |
| vepple_embed_spot_view | event = vepple_content_interaction AND vepple_event_name = contentSpotView AND vepple_content_location = spot | Content spot views | ❌ |
| vepple_embed_ambassador_played | event = vepple_content_interaction AND vepple_event_name = ambassadorMediaPlayed | Ambassador audio or video played | ❌ |
These triggers map one-to-one with the GA4 events in the container.
4.3. GA4 Event Tags
The GTM import includes five GA4 event tags, each with preconfigured parameter mapping.
| Tag name | GA4 event name | Trigger | Edit? |
| Vepple Embed Impression | vepple_embed_impression | vepple_embed_loaded | ❌ |
| Vepple Embed First Interaction | vepple_embed_first_interaction | vepple_embed_first_interaction | ❌ |
| Vepple Embed Stop Viewed | vepple_embed_stop_view | vepple_embed_stop_view | ❌ |
| Vepple Embed Ambassador Played | vepple_embed_ambassador_played | vepple_embed_ambassador_played | ❌ |
| Vepple Embed Content Spot Viewed | vepple_embed_content_spot_view | vepple_embed_spot_view | ❌ |
All GA4 tags use:
- measurement override: {{vepple_embed_main_website_ga4_measurement_id}}
- parameter table populated by the Data Layer variables above
You do not need to modify the parameter mapping. Only your GA4 measurement ID.
5. How to import and merge the configuration
Follow these steps in Google Tag Manager:
- Download the Vepple GTM JSON file here vepple-embed-gtm-config-v2.json.
- Open your website GTM container and go to Admin.
- Select Import Container.
- Upload the JSON file you downloaded.
- Choose Merge, then choose Merge, Keep Existing. This is important as choosing to Overwrite will replace your existing setup which you do not want!
- Review the items that will be added and confirm the import.
- Edit the custom variable called vepple_embed_main_website_ga4_measurement_id replacing the value of X with the measurement ID of the GA4 property to which you’ll send data.
- Preview and test in tag assistant/debug view that it works as intended.
- Publish the container.
Once published, Vepple embed events will begin appearing in GA4.
6. How to verify tracking is working
To confirm everything is set up correctly:
- Enable GTM Preview Mode.
- Visit a page containing a Vepple embed.
- Interact with the embed.
- Look for events such as vepple_loaded or vepple_first_interaction.
- Confirm that the matching GA4 event tags have fired.
- Open GA4 Realtime to check that events are being received.
If you use Consent Mode, please ensure that you configure consent appropriately so that Vepple events will follow your existing consent rules.
7. Using embed data in GA4
Once embed data is flowing into your GA4 property, you can build richer insights. You can build these views in GA4 Explorations or a custom Looker Studio dashboard.
GA4 will receive all Vepple embed parameters, however some of these parameters are not available in standard GA4 reports by default.
If you want to report on specific attributes such as:
- Tour Name (vepple_tour_name)
- Tour ID (vepple_tour_id)
- Post Name (vepple_post_name)
- Content Type (vepple_content_type)
- Content Location (vepple_content_location)
- Tour Position (vepple_tour_position)
you will need to register them as Event-scoped Custom Dimensions in GA4.
7.1. To create a Custom Dimension:
- In your GA4 property, go to Admin → Custom Definitions → Create Custom Dimension
- Choose Event-scoped
- Use the exact parameter name (for example, vepple_tour_name)
- Save and publish
This makes the parameter available in:
- GA4 Explorations
- GA4 standard reports (via customisation)
- Looker Studio connector without BigQuery
- Segment-level comparisons (for example, engagement by tour name)
If you prefer to analyse raw data or build highly detailed reporting, you can also export the events to BigQuery, which does not require creating Custom Dimensions.
8. Troubleshooting
If events do not appear in GTM Preview Mode:
- Confirm the container was merged, not overwritten
- Check that your measurement ID was set in the custom variable GA4 Measurement ID
- Ensure no consent rules are blocking the events
- Ensure that cookies have been accepted on the site that you’re using to test.
If you are still having trouble, contact the Vepple team with a screenshot of GTM Preview Mode.
Comments
0 comments
Please sign in to leave a comment.