I ended up using a tag-scoped extension that returns false, as @loldenburg mentioned in his original post, which I'll paste here for reference: function duplicatePageViewHack(b) {
var sendPageView = true;
var cooldownSeconds = 2;
var currentPageView = {
"dom.pathname": b["dom.pathname"],
tealium_timestamp_epoch: b.tealium_timestamp_epoch
};
/* Make sure no pageviews are sent from this list of widgets */
if (
b.widget_name != null &&
[
"chat-client-nl-widget-ec",
"personal-contact-info-widget-sc",
"content-widget-mijn-abnamro",
"content-widget-my-abnamro",
"chat-client-nl-widget-wpp",
"content-widget-my-abnamro-business"
].indexOf(b.widget_name) > -1
) {
sendPageView = false;
utag.DB(
'duplicatePageViewHack: No Adobe Analytics page view because widget_name "'.concat(
b.widget_name,
'" is on the blacklist'
)
);
} else if (sessionStorage.tealium_last_pageview != null) {
/* Make sure no pageviews are sent during the cooldown period following a pageview from the same page */
var lastPageView = JSON.parse(
sessionStorage.getItem("tealium_last_pageview")
);
if (
lastPageView["dom.pathname"] === currentPageView["dom.pathname"] &&
currentPageView.tealium_timestamp_epoch -
lastPageView.tealium_timestamp_epoch <
cooldownSeconds
) {
sendPageView = false;
utag.DB(
"duplicatePageViewHack: No Adobe Analytics page view because the previous page view from this page was less than ".concat(
cooldownSeconds,
" seconds ago"
)
);
}
}
if (sendPageView) {
sessionStorage.setItem(
"tealium_last_pageview",
JSON.stringify(currentPageView)
);
}
return sendPageView;
}
return duplicatePageViewHack(b);
... View more