gaufre: add url param tags to have a better idea how the gaufre is used
This commit is contained in:
@@ -81,7 +81,7 @@
|
||||
html = html.replace(/(src=|href=|url\()"\//g, `$1"${origin}/`)
|
||||
const parser = new DOMParser()
|
||||
const popupDocument = parser.parseFromString(html, "text/html")
|
||||
popup.innerHTML = popupDocument.body.innerHTML
|
||||
popup.innerHTML = addStatisticsParams(popupDocument.body)
|
||||
document.body.appendChild(popup)
|
||||
return popup
|
||||
})
|
||||
@@ -224,4 +224,25 @@
|
||||
}
|
||||
window.document.documentElement.classList.remove("lasuite--gaufre-modal-opened")
|
||||
}
|
||||
|
||||
const addStatisticsParams = (popupBody) => {
|
||||
const serviceAnchors = popupBody.querySelectorAll(".lagaufre-service__name")
|
||||
const currentHostname = new URL(window.location.href).hostname
|
||||
const currentHostnameInGaufre = Array.from(serviceAnchors).find(
|
||||
(anchor) => new URL(anchor.href).hostname === currentHostname,
|
||||
)
|
||||
const currentServiceId = currentHostnameInGaufre
|
||||
? currentHostnameInGaufre.getAttribute("data-gaufre-service-id")
|
||||
: null
|
||||
if (!currentServiceId) {
|
||||
return popupBody.innerHTML
|
||||
}
|
||||
serviceAnchors.forEach((anchor) => {
|
||||
const url = new URL(anchor.href)
|
||||
url.searchParams.set("mtm_campaign", `${currentServiceId}-gaufre`)
|
||||
url.searchParams.set("utm_source", `${currentServiceId}-gaufre`)
|
||||
anchor.href = url.toString()
|
||||
})
|
||||
return popupBody.innerHTML
|
||||
}
|
||||
})()
|
||||
|
||||
@@ -340,6 +340,7 @@ const useSubsettedFont = import.meta.env.PUBLIC_USE_GAUFRE_SUBSETTED_FONT !== "0
|
||||
aria-label={ariaLabel}
|
||||
class="lagaufre-service__name"
|
||||
href={url}
|
||||
data-gaufre-service-id={id}
|
||||
id={`lagaufre-service-${id}`}
|
||||
{...((i === 0 && { autofocus: true }) || {})}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user