Почему FB Pixel может трекать не все лиды?
- Пиксель сохраняется через куки, а у пользователя стоит блокировка куков или рекламы.
- Пиксель передается через GET-параметр, но человек закрывает страницу "Спасибо" до того, как она полностью загрузится.
- Часто бывает банально — медленный интернет не успевает загрузить скрипты с пикселем.
Что делать? Сохраняем пиксель в sessionStorage асинхронно, не дожидаясь загрузки страницы. А на странице "Спасибо" трекаем пиксель в FB так же асинхронно, не зависимо от полной загрузки.
Раньше не встречал подобного решения, поэтому реализовал и успешно протестировал. Теперь даже через api.php передавать пиксель не нужно. Получилось удобно!
Первая часть кода — на странице index, перед закрывающим тегом </head>. Вторая часть — на странице success, перед закрывающим тегом </head>.