Facebook Pixel w szablonach
W tym artykule dowiesz się jak zmodyfikować swój szablon, aby obsłużyć działanie narzędzia Facebook Pixel. Na początku pliku _layout.html znajduje się element head. W tym elemencie na samym końcu wklej poniższy kod: Następnie w pliku order/thx.html, na końcu głównego kontenera wklej poniższy kod: Teraz w pliku js/init.js znajdź funkcję post, a w niej linijkę z frazą var obj = app.getTemplate(e);. Nad nią wklej poniższy kod: Dalej w tym samym pliku (js/init.js) znajdź funkcję signUpSuccess, a w niej linijkę z frazą $.get(”, {__collection: 'customer.UserId32′}, function (result) {. Jest to request, w którym należy wkleić poniższy kod: Jeśli nie ma tego requesta w tej funkcji to przed linijką app.replace(url, delay, form); dodaj poniższy kod: Następnie w pliku js/init-ui1.js znajdź funkcję serialAddingToCart, a w niej linijkę z frazą if (resGuardian) {. Na samym początku tego warunku wklej poniższy kod: Dalej w tym samym pliku (js/init-ui1.js) znajdź funkcję addManyProducts i na samym jej początku dodaj linijkę var productsToFBPixel = null;. Następnie dalej w tej samej funkcji znajdź frazę if(supplyId != undefined){. Pod tym warunkiem wklej poniższy kod: Cały czas w tej samej funkcji wyszukaj linijkę $.post(”, { __action: 'Cart/Add’, __csrf: __CSRF, __parameters:JSON.stringify(parameters), __template: 'common/header/client-area.html’ }).then(function (res) {. Na początku tego requesta dodaj poniższy kod: Na początku pliku base_layout.html znajduje się element head. W tym elemencie na samym końcu wklej poniższy kod: Następnie na końcu pliku staticElements/cart/cart.html wyszukaj frazę {% endcase %} i wklej pod nią poniższy kod: Teraz w pliku js/layout.js znajdź funkcję post, a w niej linijkę z frazą } else if (result.action.Action === 'Customer/Register’) {. W tym warunku znajdź linijkę z frazą $.get(”, {__collection: 'customer.UserId32′}, function (result) {. Jest to request, w którym należy wkleić poniższy kod: Jeśli nie ma tego requesta w tym warunku to na końcu warunku dodaj poniższy kod: Dalej w tym samym pliku (js/layout.js) wyszukaj linijkę z frazą document.body.appendChild(formElement); i wklej nad nią poniższy kod: Następnie w tym samym pliku (js/layout.js) wyszukaj funkcję addToCart, a w niej linijkę z frazą if (result.action.Result) {. Na samym początku tego warunku wklej poniższy kod: Cały czas w tym samym pliku (js/layout.js) wyszukaj funkcję addSetToCart, a w niej linijkę z frazą if (result.action.Result) {. Na początku tego warunku dodaj poniższy kod:
Szafir
{{ globalSettings.FbPixel.Script }}
{% if order.OrderStep != 'ThankYou' -%}
{% endif -%}
if(form.hasClass('add-to-cart-lq')){
if(form.hasClass('add-set-to-cart-lq')){
var setProducts = form.find('.set-product-lq');
var setProductsForFBPixel = [];
var totalValue = 0;
setProducts.each(function () {
var setProductFBP = {
id: $(this).data('id').toString(),
content_name: $(this).data('name'),
value: Number($(this).data('price').toString().replace(',','.')),
quantity: $(this).data('quantity')
}
totalValue = totalValue + (Number($(this).data('price').toString().replace(',','.')) * Number($(this).data('quantity').toString().replace(',','.')));
setProductsForFBPixel.push(setProductFBP);
});
if(typeof fbq !== 'undefined') {
fbq('track', 'AddToCart',
{
value: totalValue,
currency: __curr,
content_type: 'product',
contents: setProductsForFBPixel
}
);
}
} else {
var input = form.find('[name=quantity]');
if(typeof fbq !== 'undefined') {
fbq('track', 'AddToCart',
{
content_ids: $('[data-product-id]').data('product-id').toString(),
content_name: input.data('name'),
value: Number(input.data('price-number').replace(',','.')),
currency: __curr,
quantity: input.val(),
content_type: 'product'
}
);
}
}
}
var userId = result.collection;
if(typeof fbq !== 'undefined') {
fbq('track', 'CompleteRegistration', {status: true, content_name: userId});
}
$.get('', {__collection: 'customer.UserId32'}, function (result) {
var userId = result.collection;
if(typeof fbq !== 'undefined') {
fbq('track', 'CompleteRegistration', {status: true, content_name: userId});
}
});
var productsToFBPixel = [];
var totalValue = 0;
for(var i=0; i<products.length; i++){
var productFBP = { id: products[i].productId.toString(), content_name: products[i].productName, value: products[i].productPriceNumber, quantity: products[i].productQuantity };
totalValue = totalValue + (products[i].productPriceNumber * products[i].productQuantity);
productsToFBPixel.push(productFBP);
}
if(typeof fbq !== 'undefined') {
fbq('track', 'AddToCart',
{
value: totalValue,
currency: __curr,
content_type: 'product',
contents: productsToFBPixel
}
);
}
var productToFBPixel = { id: id, content_name: $('.page-title-lq').text(), value: products[i].brutto, quantity: products[i].quantity };
totalValue = totalValue + (products[i].brutto * products[i].quantity);
if (productsToFBPixel) {
productsToFBPixel.push(productToFBPixel);
} else {
productsToFBPixel = [productToFBPixel];
}
if(typeof fbq !== 'undefined') {
fbq('track', 'AddToCart',
{
value: totalValue,
currency: __curr,
content_type: 'product',
contents: productsToFBPixel
}
);
}
Topaz
{{ globalSettings.FbPixel.Script }}
{% if cart.CartEmpty == true and cart.OrderStep != 'ThankYou' and page.PageId == config.DefinedPages.Order.Id -%}
{% assign fbInCartNeeded = true -%}
{% endif -%}
{% if fbInCartNeeded or page.PageId != config.DefinedPages.Order.Id -%}
{% endif -%}
var userId = result.collection;
if(typeof fbq !== 'undefined') {
fbq('track', 'CompleteRegistration', {status: true, content_name: userId});
}
$.get('', {__collection: 'customer.UserId32'}, function (result) {
var userId = result.collection;
if(typeof fbq !== 'undefined') {
fbq('track', 'CompleteRegistration', {status: true, content_name: userId});
}
});
var k,fbDLC=JSON.parse(result.collection['page.FbDL']);
for(k in fbDLC){
if(fbDLC[k][1] != 'InitiateCheckout' || (fbDLC[k][1] == 'InitiateCheckout' && window.InitiateCheckout != true)){
fbq.push(fbDLC[k]);
if(fbDLC[k][1] == 'InitiateCheckout'){
window.InitiateCheckout = true;
}
}
}
if(typeof fbq !== 'undefined') {
fbq('track', 'AddToCart',
{
content_ids: $('[name=productId]').eq(0).val(),
content_name: $('.js-product-details__name').text(),
value: Number($('[name=price]').val().replace(',','.')),
currency: __curr,
quantity: $('.quantity__field-js').val(),
content_type: 'product'
}
);
}
var setProducts = form.find('.js-product-set__item');
var setProductsForFBPixel = [];
setProducts.each(function () {
var setProductFBP = {
id: $(this).data('id').toString(),
content_name: $(this).data('name'),
value: Number($(this).data('price').replace(',','.')),
currency: __curr,
quantity: $(this).data('quantity')
}
setProductsForFBPixel.push(setProductFBP);
});
if(typeof fbq !== 'undefined') {
fbq('track', 'AddToCart',
{
contents: setProductsForFBPixel,
content_type: 'product'
}
);
}
Czy ten artykuł był pomocny?