What are Iframes?
An iframe, an abbreviation for “inline frame,” is an HTML element that enables the integration of one web page within another. It acts as a defined space on a webpage, resembling a window, where external content from another webpage can be effortlessly incorporated. Iframes are a valuable asset in web development, simplifying the process of embedding external content seamlessly into a hosting webpage.
Common use cases for iframes include:
- Embedding videos from platforms like YouTube or Vimeo.
- Displaying interactive maps from services like Google Maps.
- Integrating content from social media platforms.
- Including advertisements or widgets from third-party providers.
- Implementing secure payment gateways.
Issue with Iframe Tracking:
One significant problem with tracking iframes is that they can pose challenges for data tracking and analytics. When content within an iframe is loaded from a different domain, it may be subject to cross-domain security restrictions, making it difficult to track user interactions and gather data seamlessly across the parent page and the iframe content.
Concept of Iframe Tracking:
Iframe tracking is a method for monitoring and collecting data on user interactions within embedded iframes on a webpage. It involves utilizing the postMessage API to facilitate communication between the iframe and the main website.
The iframe sends messages containing relevant tracking data to the main website, which listens for and processes these messages, converting them into analytics tracking calls. This approach ensures that no tracking scripts are executed within the iframe itself, avoiding potential issues with cross-domain restrictions and maintaining data privacy.
How to Transfer Data from an Iframe to its Parent Frame?
Install GTM on the Child Frame:
Even if GTM is on the main site with the iframe, it can’t track interactions inside the iframe. To track things like form submissions or button clicks inside the iframe, set up a separate GTM account and container for the iframe content. Keep them distinct from the main site’s GTM setup.
Inspect the Iframe Elements:
After deciding what actions to track within your iframe, use your iframe code knowledge. Right-click the iframe and select “View Frame Source.” Here, find identifiers like form IDs for tracking form submissions or click text/classes for button clicks. Copy the relevant identifier; you’ll use it to create a Tag trigger, ensuring you track the right element accurately without capturing incorrect data.
Create the trigger for the Iframe Element:
Create a new trigger in the child frame’s GTM account utilizing the identifier that you discovered. Choose the trigger type that works best for your iframe element because it is determined by what you intend to track. Make sure that your variable corresponds to the element identifier when the trigger has been configured to fire.
For instance, the trigger condition for monitoring a form inside an iframe may be “Form ID equals ninja_forms_form_1.” This guarantees that the trigger will fire when the required condition is satisfied.
Transfer Child Frame data to the Parent frame:
To prevent transmitting data directly into Google Analytics or to other tools, the next stage is to connect this trigger to the Tag. Why? because the source site of the iframe, not yours, would receive credit. This makes it difficult to distinguish between users who converted inside the iframe and those who converted on your main website, which is essential for tracking the user’s conversion process. Therefore, we employ Google Tag Manager to postMessage data to a parent frame using a unique sender Tag.
Build a listener in a Parent GTM Account:
You need to make sure the parent frame understands that your iframe can send tracking data to it so that it can listen for it. Create a listener tag in the parent frame’s GTM account to accomplish this. This tag functions in coordination with the iframe’s tag. The parent frame’s tag retrieves the data via postMessage and sends it to the Data Layer while watching for the iframe’s tag. With an iframe, you typically select a Page View trigger for the appropriate page to reduce extra script loads and keep your tracking in check.
Sending Iframe Data to Google Analytics:
Set the Event Tag in a parent GTM container using the tracking information from the parent frame’s Data Layer to track and transmit user actions through an iframe to tools such as Google Analytics.
Use dot notation to check that your new variables line up with the Data Layer variables. For the event name of the iframe element within the Data Layer, build a custom event trigger.
With the help of this technique, you can move data from an inner iframe into the parent frame and subsequently to marketing tools such as Google Analytics. Once implemented, Google Tag Manager may be used to efficiently track conversions made through iframes.
Implementing a GTM container on an iframe and effectively tracking user interactions within it is a valuable skill for web developers and marketers alike. While iframes provide a means to seamlessly integrate external content into web pages, tracking their interactions can be challenging due to cross-domain restrictions.
However, by following the steps outlined here, which involve setting up separate GTM containers, creating triggers and tags, and utilizing the postMessage API for communication, you can successfully track conversions and user actions within iframes, ensuring a comprehensive and data-driven approach to web analytics.
Meet Awais, our web analytics expert. He’s passionate about taking on challenges and solving tricky problems with a knack for making things simple.