Public Access
feat(bf): trial widget + booking link beside the HOST27 deal
On /odoo-black-friday/ the offer row is now two columns at >=901px: the deal (left, unchanged and still the single dominant primary) with the free trial and a booking link beside it (right, deliberately smaller and quieter). - Trial: the existing #trialCard/#trialForm moves verbatim from the features grid into the row's aside. Same ids, same static/black-friday.js handler, same consent gate and label (AW-18065522009/AtAPCIjjvrAdENn6p6ZD) — no second trial mechanism. - Booking: a plain <a target=_blank rel=noopener> to Oliver's verified Google appointment page (no iframe). Its click fires AW-18065522009/P0j5CPiCv7AdENn6p6ZD through the same gate via window.o4pAds.bookConversion; the click is never preventDefault-ed, so a blocked tag can never stop the link opening. - ads-consent.js gains the booking label (from the page, not hard-coded) and the bookConversion hook; the buy path is untouched. Deal buy stays the dominant action; ONE plausible Buy mark; one price; countdown pair unchanged.
This commit is contained in:
1 parent
7497fbf588
commit
95d5d455b9
3 files changed
+134
-13
No files matched your search
@@ -170,6 +170,7 @@
|
||||
id: id,
|
||||
sendTo: sendTo,
|
||||
trialSendTo: banner.getAttribute("data-ads-trial-send-to"),
|
||||
bookSendTo: banner.getAttribute("data-ads-book-send-to"),
|
||||
};
|
||||
|
||||
var choice = readChoice();
|
||||
@@ -210,6 +211,21 @@
|
||||
fireConversion(cfg.trialSendTo, action);
|
||||
};
|
||||
|
||||
/* ---- the booking conversion: fired on a click of the booking link ---- *
|
||||
* The booking happens on Google's domain, off-site, so a click is all we can observe. The
|
||||
* caller does NOT preventDefault: the link opens in a new tab on its own, so even a blocked,
|
||||
* slow or absent tag can never stop the booking page from opening — this only ADDS the event.
|
||||
* Without consent (or the label) it fires nothing and simply runs the (optional) action.
|
||||
*/
|
||||
window.o4pAds.bookConversion = function (action) {
|
||||
if (typeof action !== "function") action = function () {};
|
||||
if (!cfg || !cfg.bookSendTo || !isGranted() || typeof window.gtag !== "function") {
|
||||
action();
|
||||
return;
|
||||
}
|
||||
fireConversion(cfg.bookSendTo, action);
|
||||
};
|
||||
|
||||
if (document.readyState === "loading") {
|
||||
document.addEventListener("DOMContentLoaded", init);
|
||||
} else {
|
||||
|
||||
Reference in new issue
Block a user