iFrame causing second pageview

Gold Contributor
Gold Contributor

We have a microsite that includes an iFrame in the footer which includes a simple email submission form.

The tealium tag is implemented in the template on both the parent page and the iFrame (although it doesn't have to be). What we're seeing now is an additional page view being sent to our analytics tools (Adobe and GA), which we'd like to prevent.

What is the best way to do this? The reason the Tealium tag is located in the iFrame form is that we want to use Tealium to track form submissions for this form (We fire a utag.link() call on form submissions).

I don't think we want to create a specific load rule for our analytics tags to exclude this particular page, due to the overhead. How is this type of thing typically done?

In summary, we want to track the form submission for the form contained in the iFrame but not fire a utag.view() for the iFrame load.

3 REPLIES 3

iFrame causing second pageview

Tealium Employee

Hey Jon,

It sounds like you just want to suppress the initial, automatic page view from Tealium for the iFrame. You can take advantage of our configuration options to do this. In a JS extensions scoped to Pre-Loader, you could use the following code with an if statement that checks for the url of the iFrame:

if(location.href == "YOUR IFRAME LOCATION HERE"){
window.utag_cfg_ovrd = {noview:true};
}

This would prevent the initial page view from occurring, but won't block the subsequent utag.link() on the form submit.

Let me know if that helps.

iFrame causing second pageview

Gold Contributor
Gold Contributor
This is perfect, Gilbert. Thanks so much!

iFrame causing second pageview

Gold Contributor
Gold Contributor

Hi

 

The below is how it should be setup:

 

1) The iFrame should be on the same domain as your site. You need this, Use CNAME trick to fix this, if not on the same domain.

2) If or Once the iframe is in the same same domain, do not include the Tealium script in the iframe. Rather, use parent.utag.view({}) or parent.utag.link({}). What this does is, it calls the utag function of the outerframe.

3) If for any reason you don't want the outer frame to be tracked, exclude it in the load rule.

 

This way it's setup correctly and never have the issue of double views.

 

Cheers,

Sam Samrat D'souza

Public