fix: add checks to tracking consent

This commit is contained in:
Arvid Norlin
2024-03-04 08:08:22 +01:00
parent 0f5a972797
commit 527698544c
4 changed files with 50 additions and 9 deletions

View File

@@ -42,8 +42,8 @@ function createPageObject(trackingData: TrackingData) {
const sitesections = getSiteSections(segments)
const { host: domain, href: fullurl, origin } = window.location
const page_obj = {
pagename: segments.join('|'),
pagetype: 'contentpage',
pagename: segments.join("|"),
pagetype: "contentpage",
pageurl: origin + trackingData.pathName,
fullurl,
createDate: trackingData.createdDate,
@@ -66,11 +66,40 @@ export default function Tracking({ pageData }: TrackingProps) {
const queryString = useSearchParams().toString()
useEffect(() => {
const trackingData = { ...pageData, pathName, queryString }
const pageObject = createPageObject(trackingData)
if (window.datalayer) {
const trackingData = { ...pageData, pathName, queryString }
const pageObject = createPageObject(trackingData)
window.datalayer.page = pageObject
window.datalayer.page = pageObject
}
}, [pathName, queryString, pageData])
useEffect(() => {
// handle consent
window.addEventListener(
"CookiebotOnAccept",
function CookiebotCallback_OnAccept(e) {
if (window.Cookiebot?.changed && window.adobe) {
if (
window._satellite.cookie
.get("CookieConsent")
.includes("statistics:true")
) {
window.adobe.optIn.approve(
window.adobe.OptInCategories.ANALYTICS,
true
)
} else {
window.adobe.optIn.deny(
window.adobe.OptInCategories.ANALYTICS,
true
)
}
window.adobe.optIn.complete()
}
}
)
}, [])
return null
}