Как исправить ошибку повторяющегося идентификатора пикселя Facebook?

Добавлен пиксель Facebook, как показано здесь здесь Теперь получаю ошибку:

fbevents.js:9 Facebook Pixel Error: Duplicate Pixel ID: some-pixel-id

Не могу понять, что вызывает эту ошибку. Даже когда я запускаю код из их примера с удаленным пиксельным кодом из html в консоли, я получаю тот же результат.

Кто-нибудь знает, что это значит и как решить эту ошибку?


person Eugene Monakov    schedule 30.03.2016    source источник
comment
Я была такая же проблема. Мое изменение заключалось в добавлении Google Tag Manager и Facebook Pixel. Наличие обоих вызвало эту ошибку. Удалил пиксель Facebook (одиночный) и оставил тот, который я добавил в Диспетчер тегов Google.   -  person Shawn Rebelo    schedule 29.07.2016
comment
Вы можете загрузить Помощник по пикселям Facebook, чтобы помочь в отладке: marketlytics .com/analytics-faq/   -  person Jee Mok    schedule 04.05.2020


Ответы (8)


Я нашел решение на этой странице.

Это потому, что каждый раз, когда вы отправляете событие, код инициализируется одним и тем же идентификатором пикселя. На самом деле инициализация должна произойти только один раз».

Это исправление работает. Вы можете убедиться в этом, используя Facebook Pixel Helper в качестве расширения в Chrome.

if(typeof fbq === 'undefined') {
    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
    n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
    n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
    document,'script','https://connect.facebook.net/en_US/fbevents.js');

    fbq('init', '123123123213121');
    fbq('track', 'PageView');
    fbq('track', '{{fBPixelType}}');
  }
  else {
    fbq('track', '{{fBPixelType}}');
  }
person Zdenek Hatak    schedule 20.07.2016

Эта ошибка обычно означает, что fbq('init', <pixel_id>) вызывается более одного раза с одним и тем же идентификатором пикселя.

person Craig Kochis    schedule 30.03.2016
comment
Интересно как. Как я уже говорил, я попытался запустить код из консоли на странице, которая не содержит этого кода (на странице вообще нет пикселя facebook). Получил тот же результат. Я ничего не дублировал. Помощник по пикселям Facebook говорит, что пиксель загружается нормально, но ошибка продолжает появляться. И да, я на 100% уверен, что на странице нет fbq('init', <pixel_id>) дубликата. Но спасибо за усилия. - person Eugene Monakov; 31.03.2016
comment
Тоже столкнулся с этой проблемой, и больше нечего делать. - person Selvin Ortiz; 17.05.2016

Другой ответ, найденный на форуме Google: «Вы должны проверить, инициализируется ли ваш код пикселя Facebook только один раз на странице (а не для каждого события). Перейдите к тегу, где находится ваш код пикселя FB, и откройте дополнительные настройки. Параметры активации тега -> Один раз на страницу (не событие!)."

person rassom    schedule 16.01.2018

У меня была та же проблема, и изменение тега инициализации пикселя facebook в GTM на «один раз на страницу» помогло.

Я знаю, что кто-то уже ответил на это, но, поскольку это более одного решения, и «выбранный» ответ кажется мне более сложным, чем этот ответ, я подумал, что прокомментирую здесь, чтобы другие люди с той же проблемой чувствовали себя уверенно, чтобы попробовать этот более простой подход.

person jgggr    schedule 14.03.2019

Эта ошибка возникает только в том случае, если вы пытаетесь инициализировать идентификатор пикселя более одного раза, поэтому вам необходимо проверить весь код JavaScript, загружаемый на ваш сайт, и выяснить, откуда исходят множественные вызовы init вашего идентификатора пикселя.

Главное, что нужно проверить, — щелкнуть правой кнопкой мыши на своем сайте и нажать «Просмотреть исходный код страницы». Затем проверьте все упомянутые файлы JavaScript и все контейнеры GTM, на которые вы ссылаетесь. Я слышал, что разработчики включали код пикселя Facebook как в <head> сайта , так и в контейнер GTM, что могло вызвать эту ошибку.

Если у вас возникли проблемы с поиском двух вызовов init, один из самых простых способов поиска определенного кода JavaScript на сайте — использовать инструменты разработчика Chrome. Нажмите F12, чтобы открыть инструменты, нажмите Ctrl+Shift+F, чтобы открыть панель поиска, затем введите fbq или что вы ищете. Он будет просматривать исходные коды, которые он загрузил для сайта, и искать этот код.

person John Washam    schedule 21.04.2018

Вы должны просто проверить, не определено ли fbq перед вызовом init.

if (typeof fbq === 'undefined') {
    fbq('init', 'your-pixel-ID');
}

Обратите внимание: не оборачивайте весь скрипт этим оператором if!

person driule    schedule 19.12.2020

Прежде чем заняться взломом любого кода, стоит проверить новый вызов trackSingle:

fbq('trackSingle', 'pixel-id1', 'PageView');
fbq('trackSingle', 'pixel-id2', 'Purchase');

Это позволяет использовать в одном скрипте несколько функций fbq с разными областями действия («PageView», «Purchase»), если область действия одинакова для обоих пикселей (например, «PageView»), тогда вы можете просто использовать такой вызов, как это:

fbq('init', 'pixel-id1');
fbq('init', 'pixel-id2');
fbq('track', 'PageView');
person Mau    schedule 11.03.2021

У меня была такая же проблема в моем магазине shopify, но я исследовал и выяснил, что приложение Trackify fb pixel — мой вариант. Я удалил все предыдущие пиксели и события, которые я создал в прошлом (экспериментировал), и установил приложение, которое помогает создавать несколько событий и пикселей.

person Adam Fills    schedule 27.03.2018