Facebook pixel js - при активации, подгружает в код вашей страницы файл fbevents.js, который спалит ваш урл страницы, реферер, клики по элементам страницы и т.п.
Поэтому в сообществе арбитражников, приняли решение использовать вариант пикселя для юзеров, у которых по какой-то причине отключен javascript в браузере.
Выглядит он так:
<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=114179306111937&ev=Lead&noscript=1" />
Данный вариант не использует js в браузере, а просто принимает на себя запрос от юзера, получая максимум реферер страницы, откуда был послан запрос на этот урл.
Чтобы обмануть FB, можно подгружать с другого домена эту пиксель картинку во фрейме, тем самым мы сольем урл этого домена, спрятав свой урл Black Page.
Но этот способ геморный и сложный для реализации с малыми техническими знаниями, поэтому представляю вам свои варианты пинга пикселя, которые умещаются в одну маленькую функцию.
• Вариант с передачей пустого реферера
Вставляем данный js код на своей прокле/странице "спасибо" и т.п.
function pixelFB(id){fetch('https://www.facebook.com/tr?id='+id+'&ev=Lead&noscript=1',{'credentials':'omit','referrerPolicy':'no-referrer','method':'GET','mode':'no-cors'});}
Для пинга лида, сделайте вызов функции с id вашего пикселя.
pixelFB('114179306111588');
В итоге, в заголовке Referer, запроса к пикселю, будет пусто.
• Вариант с подменой реферера
Реф можно менять только в пределах домена, с которого идет вызов до пикселя.
Ваш домен должен быть на HTTPS, иначе подмена рефа не сработает и будет передан реальный referer.
Например у вас вайт находится по адресу /white-page, а пиксель запускается на /black-page.
function pixelFB(id,ref){fetch('https://www.facebook.com/tr?id='+id+'&ev=Lead&noscript=1',{'credentials':'omit','referrer':''+location.origin+'/'+ref+'','method':'GET','mode':'no-cors'});}
Для пинга лида, сделайте вызов функции с id вашего пикселя и укажите путь до вашего вайта без "/".
pixelFB('114179306111588', 'white-page');
В итоге, запустив пиксель на странице https://domain.com/black-page в заголовках запроса, будут переданы такие данные:
Referer: "https://domain.com/white-page".
• Вариант с передачей просто домена
У меня, например, вайт находится на морде домена, поэтому скрипт примет такой вид.
function pixelFB(id){fetch('https://www.facebook.com/tr?id='+id+'&ev=Lead&noscript=1',{'credentials':'omit','referrerPolicy':'origin','method':'GET','mode':'no-cors'});}
Для пинга лида, сделайте вызов функции с id вашего пикселя.
pixelFB('114179306111588');
В итоге, запустив пиксель на странице https://domain.com/black-page в заголовках запроса, будут переданы такие данные:
Referer: "https://domain.com/".
Еще хотелось бы сказать пару слов по поводу Facebook Pixel Helper
Если мы находимся на своей блек странице и нажмем на расширение, то оно сольет урл страницы.
После отработки пикселя, привязки слитого урла к отправленному лиду не будет, поэтому хз, стоит ли этого бояться.
Если понравилось, можете смело подписываться на мой канал и расшаривать данную статью)
https://developer.mozilla...