Connect Google Analytics 4 in Wistia
Note
You must be an Account Owner or Manager in Wistia to connect the integration.
On the “Integrations” page in your account settings, open the “Analytics” tab and click the "Google Analytics 4" integration.
On the Integration Details page, click "Set up."
In the Set up window, click “Connect.” You’ll be prompted to log in to Google and select the Google account that has access to your GA4 instance.
Click “Allow” to grant Wistia permission to access your Google Analytics data.
Tip
We recommend connecting the integration with an account that has “Admin” and/or “Edit” access to the Google Analytics property.
Once authenticated, you’ll be prompted to confirm the following account and property details:
Analytics Account: Select from your GA4-compatible Analytics accounts in the dropdown menu.
Web Property: Select a GA4-compatible web property from the dropdown menu.
Web Data Stream: Select the web data stream Wistia should send events to. A web property can have more than one data stream, so choose the one connected to the website where your videos are embedded.
Use Page GA4 Configuration: Defer GA4 configuration to your website’s GA4 configuration, and fall back to the selected web data stream.
You must configure the first three fields in Google Analytics before connecting the integration in Wistia. Refer to Google's documentation for setting up Analytics for your website.
Note
If you use GA4 360, subproperties may appear in the Web Property dropdown. Subproperties don't have their own data streams, so choose the parent (source) property instead.
Note
To connect to a GA4 web property, Wistia needs to create and add two event-scoped custom dimensions. However, GA4 has a limit of 50 custom dimensions per web property. If more than 48 custom dimensions are already defined on your web property, whether active or inactive, the integration will not connect.
To confirm how many custom dimensions you have defined in GA4, click "Admin" at the bottom left of the page, then select "Data display" and "Custom definitions".
Once setup is completed successfully, the integration will display a "Connected" badge.
Page GA4 configuration
When setting up your GA4 integration in Wistia, you can choose to "Use page GA4 configuration” by clicking the checkbox when configuring the integration.
This setting allows the Wistia player to adopt the GA4 settings on your webpage, including the web data stream measurement ID where data will be sent. If this feature is disabled or no configuration is present on a web page, Wistia will load and configure the page with the data stream chosen during setup under “Web Data Stream.”
Note
If you’re connecting GA4 for the first time, the page GA4 configuration checkbox will be selected by default. For GA4 integrations connected before January 10, 2024, this feature is disabled. To opt in, select the “Use page GA4 configuration” checkbox and click “Save” on the integrations page.
Once a web page is configured and GA4 “Use page GA4 configuration” is enabled, make sure to embed a video on your webpage.
Note
We suggest confirming that data is flowing to GA4 successfully. Keep in mind that data typically takes about 24 hours to populate in GA4. If you’d like to get a bit more technical, you can add the Google Analytics Debugger extension to your browser and turn it on.
Navigate to the page where your video is embedded, then open your browser's developer console. You'll see GA4 events logged as they happen. The Google Tag ASCII art indicates that the debugger extension is working. Alternatively, you can enable debug mode in GA4—this also requires the GA debugger extension and may be easier than verifying events in the console.
Custom dimensions
If you select a property when setting up the integration, we create two custom dimensions in GA4. These custom dimensions make the "Video Hashed Id" and "Channel Hashed Id" fields available for reporting in GA4.
You must manually create custom dimensions for properties not configured in Wistia. If this is the case, the two custom dimensions require the following values:
Dimension Name | Scope | Event parameter |
Channel Hashed Id | Event |
|
Video Hashed Id | Event |
|
Video Title
Wistia also sends the video's title with each event as the event_label parameter. To report on it, create a custom dimension with Dimension Name "Video Title", Scope "Event", and Event parameter event_label.
Note
Custom dimensions only collect data from the moment they're created, and they aren't retroactive. Reports or explorations with a date range that starts before you connected the integration won't show Wistia data for that earlier period.
Send Wistia event data
Once the integration is connected, Wistia will start sending event data to the GA4 account you’ve selected. The following events will be tracked:
wistia_playwistia_50_percent_played(and 25, 75, 95)wistia_subscribewistia_seconds_playedwistia_clicked_link_https_wistia_com(the URL will be what you define)wistia_conversionwistia_eventbrite_conversion_12345678(event ID)
Note
The conversion and clicked link events are only applicable to video plays. The subscribe event only applies to Channels.
How Wistia sends data
Wistia sends events to GA4 straight from the viewer's browser through Google's gtag. Each event has an event name (like wistia_play) plus event parameters that describe the media.
Event parameter | Definition |
| The media's hashed ID (for media not in a Channel) |
| The Channel's hashed ID (for media played in a Channel embed) |
| The media's title |
These parameters help you distinguish activity from standalone embeds and Channel embeds on your website. To use them in reports, make sure the matching custom dimensions exist in your GA4 property.
Google Analytics dashboard
Navigate to "Reports" > "Engagement" > "Events". This page displays all of your collected events, including:
Event name
Event count
Total users
Event count per user
Depending on how many events you have in your installation, you may see many things here. Click any event name to see more detail, including the Video Hashed Id and Channel Hashed Id custom dimensions.
Here, you’ll see a list of the events available to you, which is what we push using the categories we covered earlier. Some defaults are included, but your custom events will also appear here if you configure them.
The default events are:
wistia_playwistia_50_percent_played(and 25, 75, 95)wistia_conversion
Audiences
To create and retarget audiences through the GA4 integration, you must create audiences directly in GA4. This is because Google does not currently have an API for audience data in GA4.
Once you set up audiences in Google, Wistia can pass this data. To get started, head to "Admin" > "Data Display" > "Audiences".
Note
Audiences in GA4 are not retroactive. This means you should set up audiences as quickly as possible for the integration to pass this data.
FAQs
I turned on "Use page GA4 configuration." Why don't I see the change in GA4?
Integration settings are cached for up to 24 hours. To see the change right away, make any small update to your media (for example, edit its title and save) to clear the cache.
Can I add a Google Ads account ID to GA4?
While the Wistia integration with GA4 does not currently offer this option, you will still need to link your GA4 account to your Google Ads account to use GA4 audiences for retargeting in Google Ads. Refer to Google’s documentation for further instructions.
What do I do if I have too many custom dimensions?
You must have two event-scoped custom dimensions available to connect the integration (maximum of 50). Remove two custom dimensions to connect the integration.
Why is there a discrepancy in page loads between Wistia and GA4?
Wistia and GA4 track the same viewer activity in two separate ways. When someone watches your video, their browser sends one set of data to Wistia and another to GA4. Either one can be blocked without the other.
Because GA4 is used so widely, it gets blocked or ignored more often than Wistia, most commonly by:
Ad blockers and privacy extensions, like Adblock Plus, uBlock Origin, or Ghostery
Built-in browser tracking protection, like Firefox's Enhanced Tracking Protection or Safari's "Prevent cross-site tracking"
A cookie consent banner usually won't stop Wistia events from reaching GA4. It can, though, if your site's consent setup specifically controls Google Analytics (for example, with Google's Consent Mode) and a visitor declines or ignores it.
Note
Player Privacy Mode isn't compatible with the GA4 integration. Turning it on stops Wistia events from being sent to GA4.
Do I need a Google Analytics script on my page?
No. Because the integration connects directly to your Google account, the Wistia player can load GA4 and send events on its own, even on Wistia-hosted media pages. If you've enabled "Use page GA4 configuration" and your page already has a GA4 tag, the player will use the first GA4 tag it finds on the page.
Can I send a user ID with Wistia events?
Yes, through GA4 rather than Wistia. Turn on "Use page GA4 configuration," then set user_id in your page's GA4 tag using Google's documentation. Wistia events will pick it up automatically.
Does the GA4 integration track webinars or webinar registration forms?
Not at this time. The GA4 integration works through the Wistia video player, so it doesn't send events for webinar registrations. If you need webinar engagement data, our marketing automation integrations (HubSpot, Marketo, Pardot) support webinars.
Troubleshooting
I don't see any Wistia events in GA4.
Give it time. Data can take about 24 hours to appear in standard reports. For a faster check, play a video for a few seconds, then go to Reports > Realtime and look for
wistia_playunder "Event count by Event name."Test in an incognito window with extensions off. Ad blockers commonly block Google Analytics requests.
Check that Player Privacy Mode is turned off in your account settings. It isn't compatible with the GA4 integration.
If your videos are iframe embeds, switch to a standard embed. Safari's default "Prevent cross-site tracking" setting and other browser restrictions can stop iframe embeds from sending events to GA4.
If you use "Use page GA4 configuration," make sure your page loads a working GA4 tag. A custom
gtagshim or a conflicting tag in Google Tag Manager can quietly swallow Wistia events.
Still nothing? Disconnect and reconnect the integration, and confirm the property and data stream you select exist in GA4. When choosing a property, pick a standard property, not a subproperty.



