Tovább a tartalomhoz

Tippek és trükkök

Kódpéldák és minták: egyedi események, Google Ads konverziók, Meta egyedi események, országonkénti pixelazonosítók, változatos termékek, GA4 oldalcím és WPML.

Az ezen az oldalon található jQuery-s eseményfigyelők csak akkor működnek, ha a jQuery-t nem helyezték át a lábrészbe, és nem késlelteti JavaScript-optimalizáló. Ha ez történt, használd az alábbi kódot, amely aszinkron módon (az oldalbetöltést nem blokkolva) megvárja a jQuery betöltését, és csak utána csatolja az eseményfigyelőket.

Az itt látható példák közül sok a Pixel Manager pmw:* eseményeire épül. Ezek mindegyikét, az adatcsomagokkal és az események saját kiváltásával együtt, a JavaScript-események fejezet írja le.

A Pixel Manager maga tölti be a Google-címkét, és a JavaScriptet halasztó vagy késleltető boltokon ezt az oldal saját beágyazott szkriptjei után teszi. Az a kódod, amely várakozás nélkül hívja a gtag() függvényt, ezért nem sül el, és ezt megbízhatóan, nem alkalmanként teszi, mert az adatréteget a PHP jóval a követőcsomag lefutása előtt kiírja.

Két védelem megoldja, ugyanaz a kettő, amelyet a Pixel Manager a saját Google-konverzióira alkalmaz:

  • pmw.googleConfigConditionsMet({type: "marketing"}) (vagy "statistics" csak elemzési eseményhez) a hozzájáruláshoz,
  • pmw.gtagLoaded().then(…) megvárja, amíg a Google-címke tényleg ott van.

Mindkettőnek a parancssor egy parancsában a helye, mert az garantálja, hogy a pmw egyáltalán létezik. Ne a pmw:ready eseményt várd helyette: az nem hordoz adatcsomagot és sosem játszódik vissza, ezért az a kódrészlet, amely az elsülése után regisztrál, semmit nem hall.

Az újabb változatokon a pmw.trackCustomGoogleAdsConversion() mindkét védelmet magától alkalmazza. Minden Google Ads konverzióra ezt részesítsd előnyben a kézzel írt gtag() hívással szemben.

Eseményfigyelők mindig a jQuery betöltése után

Szekció neve “Eseményfigyelők mindig a jQuery betöltése után”

Egyes boltok JavaScript-optimalizálóval késleltetik vagy lustán töltik a jQuery-t és a követőszkripteket, a Pixel Manager for WooCommerce-et is. A Pixel Manager maga megoldja ezt. Ha viszont a saját eseményeidet akarod a Pixel Manager API-jával követni, a késleltetett és lustán töltött szkriptek kezelése kihívás, mert a jQuery-be csak a betöltése után lehet kapcsolódni.

Az alábbi kód megvárja a jQuery betöltését, utána bármelyik elemre eseményfigyelőt csatol, és minden kiváltáskor lefuttatja a kódot. Előnye, hogy nem blokkolja az oldalbetöltés más végrehajtását, mert aszinkron fut.

new Promise((resolve) => {
(function waitForjQuery() {
if (window.jQuery) return resolve()
setTimeout(waitForjQuery, 100)
})()
}).then(() => {
jQuery(document).on("SOME_EVENT", function () {
// a te kódod
})
})

A terméknév hozzáadása a kosárba tételi eseményekhez címkével

Szekció neve “A terméknév hozzáadása a kosárba tételi eseményekhez címkével”

Szeretnéd valós időben látni, mely termékeket teszik kosárba? Ez a kód a termék nevét eseménycímkeként elküldi a Google Analyticsnek. Tedd a gyermektéma functions.php fájljába:

add_action('wp_footer', function () {
?>
<script>
window._pmwq = window._pmwq || [];
window._pmwq.push(function () {
pmw.bus.on("pmw:add-to-cart", function (product) {
if (!pmw.googleConfigConditionsMet({type: "statistics"})) return;
pmw.gtagLoaded().then(function () {
gtag("event", "add_to_cart", {
event_category: "add_to_cart",
event_label : product.name,
})
}).catch(function () {
// a Google-címke nem töltődött be
})
})
})
</script>
<?php
});

Eseményfigyelő csatolása a weboldal bármelyik elemére

Szekció neve “Eseményfigyelő csatolása a weboldal bármelyik elemére”

Az alábbi példával a weboldal bármelyik elemére eseményfigyelőt csatolhatsz, és követési eseményt válthatsz ki. A példában egy kapcsolatfelvételi űrlap gombjára csatolunk figyelőt, és minden űrlapküldő kattintásra Google Ads konverziót váltunk ki.

Megjegyzés: A példa csak a módszer illusztrálására szolgál. Az űrlapbeküldések követéséhez azt javasoljuk, hogy csak a sikeres beküldéseket kövesd. Ezt egyszerűen megteheted úgy, hogy a sikeres beküldés után átirányítást állítasz be egy megköszönő oldalra, és arra az oldalra követési shortcode-ot teszel.

add_action('wp_footer', function () { ?>
<script>
window._pmwq = window._pmwq || [];
window._pmwq.push(function () {
jQuery(document).on("click", ".contact-form-button", function () {
if (!pmw.googleConfigConditionsMet({type: "marketing"})) return;
pmw.gtagLoaded().then(function () {
gtag("event", "conversion", {
send_to: "AW-123456789/AABBCCDDEEFFGG",
value: 0.0,
currency: "HUF",
transaction_id: "",
});
}).catch(function () {
// a Google-címke nem töltődött be
});
})
})
</script>
<?php });

Egyedi események követése a Metában (Facebook)

Szekció neve “Egyedi események követése a Metában (Facebook)”

Ha valamiért egyedi eseményeket akarsz követni a Metában, a Pixel Managerrel ez megoldható.

A Pixel Manager a pmw.trackCustomFacebookEvent("EGYEDI_ESEMENY_NEVE", NEM_KOTELEZO_EGYEDI_ADATOBJEKTUM) függvényt kínálja. Futtatáskor az EGYEDI_ESEMENY_NEVE nevű eseményt elküldi a Metának, a nem kötelező egyedi adatobjektummal együtt, ha megadtad. Ha a Pro változatban a Meta CAPI be van kapcsolva, a Meta CAPI-n át is elküldi.

Például követhetsz ViewCategory eseményeket, amelyek nem tartoznak a Meta szabványos eseményei közé. A Pixel Manager pmw:view-category eseményt bocsát ki, amikor a látogató egy kategóriaoldalra lép. Ezt az eseményt így követheted a Metában a functions.php fájlban:

add_action('wp_footer', function () {
?>
<script>
jQuery(document).on("pmw:view-category", function () {
pmw.trackCustomFacebookEvent("ViewCategory", NEM_KOTELEZO_EGYEDI_ADATOBJEKTUM)
})
</script>
<?php
});
  • Szüksége van a böngészőpixelre. A függvény csak akkor fut, ha a Meta-pixel be van töltve és elsülhet, vagyis a látogató marketing-hozzájárulása után. Ha a böngészőben nem sülhet el, a Conversions API-nak sem küld semmit.
  • Minden hívás önálló esemény. Minden hívás saját eseményazonosítót generál, amelyet a böngészős esemény és a Conversions API másolata megoszt, így a Meta ezt a párt kettőzésmentesíti. Két hívás a Metának két külön esemény, akkor is, ha a nevük és adataik azonosak.
  • A speciális egyeztetés (advanced matching) eseményenként nem kapcsolható ki. A böngészős esemény azokat az egyeztetési adatokat használja, amelyekkel a pixel inicializálódott, a Conversions API másolata pedig ugyanazokat az ügyféladatokat hordozza, mint minden más esemény.
  • A JavaScript-adatcsomag-szűrők nem futnak le. Az egyedi események kihagyják az eseményfeldolgozót, ezért az olyan szűrők, mint a pmw_pixel_data_facebook, sosem látják őket. Add át az egyedi adatobjektumban mindent, amire szükséged van. A Conversions API-másolat továbbra is átmegy a szerveroldali szűrőkön.

A PixelYourSite haladó marketingeseményeinek utánzása

Szekció neve “A PixelYourSite haladó marketingeseményeinek utánzása”

A PixelYourSite haladó marketingeseményeket kínál a WooCommerce-hez: FirstTimeBuyer, ReturningCustomer, FrequentShopper, VIPClient és BigWhale. Sok bolttulajdonos ezekkel az eseményekkel épít vásárlói szegmenseket, közönségeket és hasonmás közönségeket a Metában (Facebook).

Az, aki a PixelYourSite-ról a Pixel Managerre vált, ezeket az eseményeket egyetlen kódrészlettel utánozhatja, amely a pmw.trackCustomFacebookEvent() függvényt a pmw:purchase eseménnyel és a parancssorral kombinálja.

A kód a vásárlást megerősítő oldalon kiszámolja a vásárló tranzakcióinak számát, az átlagos rendelési értéket (AOV) és az élettartam-értéket (LTV), majd minden szegmenseseményt elsüt, amelyre a vásárló jogosult. Tedd a gyermektéma functions.php fájljába:

add_action('wp_footer', function () {
if (!is_order_received_page()) {
return;
}
global $wp;
$order_id = absint($wp->query_vars['order-received'] ?? 0);
if (!$order_id) {
return;
}
$order = wc_get_order($order_id);
if (!$order) {
return;
}
$customer_email = $order->get_billing_email();
if (!$customer_email) {
return;
}
// Küszöbértékek: igazítsd a bolthoz
$frequent_shopper_min_tx = 2;
$vip_min_tx = 2;
$vip_min_aov = 200;
$big_whale_min_ltv = 5000;
// A vásárló korábbi rendeléseinek lekérdezése
$customer_orders = wc_get_orders([
'billing_email' => $customer_email,
'status' => ['wc-processing', 'wc-completed'],
'limit' => -1,
]);
$transaction_count = count($customer_orders);
$ltv = 0;
foreach ($customer_orders as $customer_order) {
$ltv += (float) $customer_order->get_total();
}
$aov = $transaction_count > 0 ? $ltv / $transaction_count : 0;
$is_first_time_buyer = $transaction_count <= 1;
$is_returning = $transaction_count > 1;
$is_frequent_shopper = $transaction_count >= $frequent_shopper_min_tx;
$is_vip_client = $transaction_count >= $vip_min_tx && $aov >= $vip_min_aov;
$is_big_whale = $ltv >= $big_whale_min_ltv;
?>
<script>
window._pmwq = window._pmwq || [];
window._pmwq.push(function () {
jQuery(document).on('pmw:purchase', function () {
var custom_data = {
transaction_count: <?php echo (int) $transaction_count; ?>,
aov : <?php echo round($aov, 2); ?>,
ltv : <?php echo round($ltv, 2); ?>
};
<?php if ($is_first_time_buyer) : ?>
pmw.trackCustomFacebookEvent("FirstTimeBuyer", custom_data);
<?php endif; ?>
<?php if ($is_returning) : ?>
pmw.trackCustomFacebookEvent("ReturningCustomer", custom_data);
<?php endif; ?>
<?php if ($is_frequent_shopper) : ?>
pmw.trackCustomFacebookEvent("FrequentShopper", custom_data);
<?php endif; ?>
<?php if ($is_vip_client) : ?>
pmw.trackCustomFacebookEvent("VIPClient", custom_data);
<?php endif; ?>
<?php if ($is_big_whale) : ?>
pmw.trackCustomFacebookEvent("BigWhale", custom_data);
<?php endif; ?>
});
});
</script>
<?php
});

Néhány megjegyzés:

  • Minden esemény egyedi adatként hordozza a transaction_count, aov és ltv értékeket, így ezeket a Meta közönségszabályaiban is használhatod (például ltv > 10000).
  • Az események a pmw:purchase eseményre kapcsolódnak, amely tiszteletben tartja a Pixel Manager rendelés-kettőzésmegelőzését. A megerősítő oldal újratöltése nem sütti el újra a szegmenseseményeket.
  • Ha a Meta (Facebook) CAPI be van kapcsolva (Pro), a pmw.trackCustomFacebookEvent() az eseményeket automatikusan a CAPI-n át is elküldi.
  • A Metában a közönségek ezentúl dinamikusan töltődnek fel, ugyanúgy, mint a PixelYourSite-tal. A korábbi vásárlásokat pixelesemények nem tudják visszamenőleg feltölteni.
  • A vásárló rendeléstörténetét a megerősítő oldal betöltésénként egyszer kérdezi le a kód, ami gyakorlatilag minden boltban elhanyagolható terhelés.

Pixelazonosítók és más beállítások országonkénti domainenként

Szekció neve “Pixelazonosítók és más beállítások országonkénti domainenként”

Előfordul, hogy egy bolttulajdonos ugyanazt a bolti példányt több országdomainen futtatja (például example.com, example.nl, example.br), és a fizetett hirdetési forgalmat a különböző domainekre különböző fiókokból indítja. A Pixel Manager felülete viszont csak egy pixelazonosító beállítását engedi.

Ilyenkor a pmw_options szűrővel a domain szerint módosíthatod a pixelazonosítókat. A szűrő a Pixel Manager beállításait módosíthatja, mielőtt feldolgozná őket. Az $options tömb a Pixel Manager beállításainak mindegyikét tartalmazza. Az error_log függvénnyel kiírathatod és megnézheted az $options tömb szerkezetét, hogy kiderüljön, hogyan épülnek fel a többi pixel beállításai.

Figyelem: Az $options tömb szerkezete a későbbi kiadásokban változhat. Ez nagyon ritkán történik meg, de megtörténhet. Kövesd a változásnaplókat, hogy értesülj az újdonságokról és a törő változásokról.

add_filter('pmw_options', function ($options) {
$host = $_SERVER['HTTP_HOST'];
if (preg_match("/.*example.nl/", $host)) {
$options['google']['analytics']['ga4']['measurement_id'] = 'abc';
$options['google']['ads']['conversion_id'] = '1234567890';
$options['google']['ads']['conversion_label'] = 'abc123';
} elseif (preg_match("/.*example.fr/", $host)) {
$options['google']['analytics']['ga4']['measurement_id'] = 'xyz';
$options['google']['ads']['conversion_id'] = '1122334455';
$options['google']['ads']['conversion_label'] = 'def123';
} elseif (preg_match("/.*example.us/", $host)) {
$options['google']['analytics']['ga4']['measurement_id'] = 'def';
$options['google']['ads']['conversion_id'] = '9988776655';
$options['google']['ads']['conversion_label'] = 'ghi123';
}
return $options;
});

A view_item esemény elsütése változatos termékeknél, ha nincs előre kiválasztott változat

Szekció neve “A view_item esemény elsütése változatos termékeknél, ha nincs előre kiválasztott változat”

Alapból, ha a Variations Output (a változatok külön tételként kiírása) be van kapcsolva, a Pixel Manager nem sütti el a view_item eseményt egy változatos termék oldalán, amíg nincs változat kiválasztva. Ennek oka, hogy a dinamikus remarketing eseményeknél, mint a view_item, az eseménnyel küldött termékadatnak egyeznie kell a feltöltött katalógus egy termékével. Ha a változatok vannak feltöltve a katalógusba, a szülőtermék nincs. Ha tehát nincs előre kiválasztott változat a termékoldalon, a Pixel Manager nem tudhatja megbízhatóan, melyik változat azonosítóját küldje. A helyes változatazonosító küldése sokkal pontosabb hirdetéscsoportokat is eredményez.

Ajánlott: használd a Variations Output beállítást

Szekció neve “Ajánlott: használd a Variations Output beállítást”

Ha elfogadható, hogy a változatos termékeknél a szülőtermék azonosítóját jelented, nincs szükség egyedi kódra. Kapcsold ki a Pixel Managerben a General → Product data részen az Output product variations as separate items kapcsolót. Kikapcsolva a Pixel Manager a változatos termékeknél oldalbetöltéskor magától elsüti a view_item eseményt a szülőtermék adataival, akkor is, ha nincs kiválasztott változat.

Ne feledd: ez a beállítás globális. Az összes termékjelentést (remarketing, add_to_cart, purchase és így tovább) a változatszintű azonosítókról a szülőtermék-azonosítókra váltja. Csak akkor kapcsold ki, ha a termékfeededet szülőtermékekre építetted.

Alternatíva: hagyd bekapcsolva a Variations Output beállítást, és sütsd el a szülő view_item eseményét betöltéskor

Szekció neve “Alternatíva: hagyd bekapcsolva a Variations Output beállítást, és sütsd el a szülő view_item eseményét betöltéskor”

Ha meg akarod tartani a változatszintű jelentést, de oldalbetöltéskor a szülőtermékre is el akarsz sütni egy view_item eseményt, használd a pmw_fire_parent_view_item_on_variable_products szűrőt (részletek: Szerveroldali szűrők):

add_filter('pmw_fire_parent_view_item_on_variable_products', '__return_true');

A változat saját view_item eseménye továbbra is elsül, amint a vásárló kiválaszt egy változatot. A szűrő megkapja a termékazonosítót, így termékenként is dönthetsz.

Ha a szűrő nem áll rendelkezésre, vagy a döntés olyasmitől függ, amit csak a böngésző tud, ugyanez kódrészlettel is megoldható.

Vigyázat: Ehhez ne használd a hide_variation eseményt. Az csak akkor sül el, amikor a vásárló egy már kiválasztott változatot töröl, nem friss oldalbetöltéskor, amikor semmi nincs kiválasztva. Az alábbi kódrészlet a Pixel Manager saját pmwLoad eseményére kapcsolódik, amely oldalbetöltéskor megbízhatóan elsül.

add_action('wp_footer', function () {
if (!function_exists('is_product') || !is_product()) {
return;
}
?>
<script>
window._pmwq = window._pmwq || [];
window._pmwq.push(function () {
pmw.bus.on("pmwLoad", function () {
try {
if (pmwDataLayer?.shop?.page_type !== "product") return;
if (pmwDataLayer?.shop?.product_type !== "variable") return;
var parentId = pmw.getMainProductIdFromProductPage();
if (!parentId) return;
pmw.triggerViewItemEventPrep(parentId);
} catch (e) {
console.error(e);
}
});
});
</script>
<?php
});

Bekapcsolt Variations Outputnál ez a szülőtermékre oldalbetöltéskor view_item eseményt süt el, és a Pixel Manager továbbra is elsüt egy külön view_item eseményt a konkrét változatra, amint a vásárló kiválaszt egyet.

A régebbi változatokban ez a kódrészlet jQuery(document).on("pmwLoad", ...) alakot használt _pmwq és pmw.bus.on() nélkül. Ha még a jQuery-s változatot futtatod, cseréld le a fenti szűrőre vagy erre a kódrészletre. Néhány régebbi kiadásban a jQuery-s változat oldalbetöltésenként kétszer futott, és végtelen ciklusba küldhette a böngészőt, amely RangeError: Maximum call stack size exceeded hibával végződik, lefagyasztja az oldalt, és ezernyi kérést indít. Ezt a bővítmény jQuery-kompatibilitási rétegének hibája okozta, és ki van javítva. A pmw.bus.on() egyik változaton sem érintett, a _pmwq pedig a kódrészletet függetlenné teszi a szkriptek betöltési sorrendjétől. A pmw.bus az újabb változatokon érhető el: régebbieken használd a jQuery(document).on("pmwLoad", ...) alakot.

A page_title és a page_location módosítása a GA4-ben

Szekció neve “A page_title és a page_location módosítása a GA4-ben”

Az alábbi kódpéldák a GA4 dokumentációja szerint módosítják a page_title és page_location értékét a GA4-ben. Az első példa kikapcsolja az alapértelmezett page_view eseményt:

add_filter('pmw_ga_4_parameters', function ($analytics_parameters, $analytics_id) {
$analytics_parameters['send_page_view'] = false;
return $analytics_parameters;
}, 10, 2);

A második példa egyedi page_view eseményt küld egyedi page_title és page_location paraméterekkel. Cseréld le a PAGE_TITLE és PAGE_LOCATION értékeket a sajátjaidra.

add_action('wp_footer', function () {
?>
<script>
gtag('event', 'page_view', {
page_title: 'PAGE_TITLE',
page_location: 'PAGE_LOCATION'
});
</script>
<?php
});

Egyedi Google Ads konverziók követése

Szekció neve “Egyedi Google Ads konverziók követése”

A pmw.trackCustomGoogleAdsConversion(sendTo, data) egy saját konverziós műveletre küld konverziót. Ez a pmw.trackCustomFacebookEvent() Google-megfelelője, és ugyanazt a két védelmet alkalmazza, amelyen a Pixel Manager saját Google Ads konverziói átmennek: a marketing-hozzájárulási kaput és a várakozást a Google-címke tényleges betöltésére. Régebbi változatokon a gtag() hívást a két védelemmel együtt kézzel kell megírni, ahogy a lentebbi példák teszik.

Argumentum Tartalom
sendTo a konverzió azonosítója, "AW-KONVERZIO_ID/KONVERZIO_CIMKE". Mindkét fele a Google Ads konverziós művelet címketelepítési útmutatójában van.
data Nem kötelező. A konverzió bármely eseményparamétere: value, currency, transaction_id és így tovább.

Ígéretet (promise) ad vissza, amely akkor teljesül, amikor a konverziót elküldte, és undefined értéket, ha valamelyik védelem elutasította, ezért a láncolás előtt ellenőrizd a null értéket.

Példa: egy rendelés profitjának jelentése egy második Google Ads konverziós műveletnek, a Pixel Manager által elsütött bevételi művelet mellett:

add_action('wp_head', function () {
?>
<script>
window._pmwq = window._pmwq || [];
window._pmwq.push(function () {
pmw.bus.on("pmw:event:purchase", function () {
var order = window.pmwDataLayer && pmwDataLayer.order;
if (!order || !order.custom_parameters) return;
var profit = parseFloat(order.custom_parameters.profit);
if (!isFinite(profit)) return;
pmw.trackCustomGoogleAdsConversion("AW-KONVERZIO_ID/KONVERZIO_CIMKE", {
value : Math.max(0, profit),
currency : order.currency,
transaction_id: String(order.number)
});
});
});
</script>
<?php
});

Négy részlet számít ebben a kódrészletben, és mindegyik elvesztett már konverziót egy boltnak:

  • Minden oldalon írd ki, a wp_head hookkal, oldalfeltétel nélkül. A vásárlási esemény a kapu, és az Automatic Conversion Recovery egy közönséges bolti oldalon is elsüti, amikor a vásárló egy soha nem követett rendeléssel tér vissza. A csak a megerősítő oldalra szűkített kódrészlet éppen ezeket a rendeléseket hagyja ki.
  • A pmw:event:purchase eseményre akaszd, ne a pmw:ready eseményre és ne a window.gtag ellenőrzésére. Az az esemény visszajátszódik, így a késői regisztráció biztonságos.
  • A transaction_id az order.number legyen, amit a Pixel Manager saját konverziója is küld, így mindkét művelet ugyanazon az azonosítón kulcsol.
  • Az értéket nullánál alulról korlátozd. A profit negatív lehet egy erősen visszatérített rendelésnél, a hirdetési platformok pedig vagy elutasítják, vagy félreértik a negatív értéket.

A kérések számolása nem a konverziók számolása. Egy konverzió több Google-végponton szóródik szét, ezért egyetlen gtag() hívás több kérést is előállít a Hálózat panelen. A darabszámot a Google Adsben erősítsd meg, ne a böngészőben.

mailto: hivatkozások követése Google Ads konverzióval

Szekció neve “mailto: hivatkozások követése Google Ads konverzióval”

Az újabb változatokon a pmw.trackCustomGoogleAdsConversion() mindkét védelmet alkalmazza, így a kattintáskezelő törzse egyetlen hívás. Az alábbi változat kézzel kiírja őket, és minden változaton működik.

add_action('wp_footer', function () { ?>
<script>
window._pmwq = window._pmwq || [];
window._pmwq.push(function () {
jQuery(document).on("click", "a[href^='mailto:']", function (event) {
if (!pmw.googleConfigConditionsMet({type: "marketing"})) return;
pmw.gtagLoaded().then(function () {
gtag("event", "conversion", {
// Cseréld le a saját konverzióazonosítódra és címkédre
"send_to": "AW-1000000000/0000000000",
});
}).catch(function () {
// a Google-címke nem töltődött be
});
});
});
</script>
<?php });

add-to-cart és begin-checkout események követése Google Ads konverzióként

Szekció neve “add-to-cart és begin-checkout események követése Google Ads konverzióként”

A Google Ads kínál konverziós műveleteket a add-to-cart és begin-checkout eseményekre. Mi viszont erősen lebeszélünk arról, hogy ezeket az eseményeket konverzióként kövesd a Google Adsben, mert károsak a kampányok nyereséges bevételre optimalizálásához.

Ha mégis úgy döntesz, hogy konverzióként követed őket, az alábbi kóddal teheted meg. Az újabb változatokon a pmw.trackCustomGoogleAdsConversion() a kezelőnkénti hozzájárulás-ellenőrzést és a gtagLoaded() várakozást egyetlen hívásra cseréli.

add_action('wp_footer', function () {
?>
<script>
window._pmwq = window._pmwq || [];
window._pmwq.push(function () {
pmw.bus.on("pmw:add-to-cart", function (product) {
if (!pmw.googleConfigConditionsMet({type: "marketing"})) return;
pmw.gtagLoaded().then(function () {
gtag("event", "conversion", {
"send_to" : "AW-KONVERZIO_ID/KONVERZIO_CIMKE",
"value" : product.price,
"currency": product.currency,
});
}).catch(function () {
// a Google-címke nem töltődött be
});
});
pmw.bus.on("pmw:begin-checkout", function () {
if (!pmw.googleConfigConditionsMet({type: "marketing"})) return;
pmw.gtagLoaded().then(function () {
gtag("event", "conversion", {
"send_to" : "AW-KONVERZIO_ID/KONVERZIO_CIMKE",
});
}).catch(function () {
// a Google-címke nem töltődött be
});
});
});
</script>
<?php
});

A Pixel Manager beállításainak szűrése a WPML nyelve szerint

Szekció neve “A Pixel Manager beállításainak szűrése a WPML nyelve szerint”

Ha WPML-t használsz, és az aktuális nyelv szerint más pixelazonosítókat vagy más beállításokat akarsz, használd a pmw_options szűrőt. A szűrő a beállításokat a Pixel Manager általi feldolgozás előtt módosítja.

add_filter('pmw_options', function ($options) {
$current_language = apply_filters('wpml_current_language', null);
switch ($current_language) {
case 'de':
$options['facebook']['pixel_id'] = '123456789';
break;
case 'fr':
$options['facebook']['pixel_id'] = '1122334455';
break;
default:
$options['facebook']['pixel_id'] = '5544332211';
break;
}
return $options;
});

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások