Обратный вызов события преобразования Facebook
Я не могу найти в документации, если есть функция обратного вызова в отслеживании конверсий (https://developers.facebook.com/docs/ads-for-websites/tag-api)
Чтобы отслеживать событие, которое вам нужно просто позвонить:
window._fbq = window._fbq || [];
window._fbq.push(['track', 'FBCONVERSIONCODE', {'value':'0.00','currency':'USD'}]);
Это очень похоже на код конверсии google analytics, хотя они позволяют вам вызывать функцию, когда заканчивается вызов ajax:
ga('send', 'pageview', {
'page': '/my-new-page',
'hitCallback': function() {
alert('analytics.js done sending data');
}
});
Есть ли способ достичь той же функциональности с Facebook API?
Ответы
Ответ 1
Нет, Facebook не поддерживает его.
Да, JavaScript поддерживает его.
Если вызов fbq
не работает по какой-либо причине, он не вернет undefined
, поэтому просто проверьте плавное выполнение.
function callback() {
console.log('fn:callback');
}
if (
typeof fbq('track', 'AddToCart', {
content_name: 'Really Fast Running Shoes',
content_category: 'Apparel & Accessories > Shoes',
content_ids: ['1234'],
content_type: 'product',
value: 4.99,
currency: 'USD'
}
) === 'undefined') callback();
Ответ 2
На сегодняшний день Facebook по-прежнему не поддерживает его.
Однако, поскольку у меня была эта проблема из-за немедленного перенаправления, я использовал следующее решение:
В основном я установил на localStorage переменную, которую мне нужно было отслеживать = >
window.localStorage.setItem('documentTitle', document.title);
то я сделал перенаправление, и на целевой странице я использовал следующее, чтобы правильно отслеживать событие fb
if (typeof(fbq) !== 'undefined' && window.localStorage.getItem('documentTitle')) {
fbq('track', 'Lead', {content_name: window.localStorage.getItem('documentTitle')});
window.localStorage.removeItem('documentTitle');}
Надеюсь, это поможет кому-то;)
PS: это будет работать только в том случае, если перенаправленная страница находится на одном и том же хосте начальной страницы, поскольку localStorage уникален для: protocol://host: port