Проблема с Adsense и просмотрами страниц

Я обратился сюда с проблемой, касающейся именно рекламы и просмотров страниц, но под другим углом, и мне интересно, не наткнулся ли я случайно на истинную причину этого.

Немного контекста: я использую Google Ad Manager для показа смеси наших собственных напрямую проданных объявлений с AdSense в качестве запасного варианта. Я использую официальный плагин Ad.

Прямые рекламные объявления на нашем форуме появляются редко, но сейчас у нас есть одно такое объявление. За последние несколько дней я заметил что-то очень странное с рекламой на форуме: Ad Manager сообщал, что баннеры получают клики, но при этом почти не фиксировал показов, из-за чего в Ad Manager показатель CTR достигал тысяч процентов, поскольку система видела больше кликов, чем фактических показов. :sweat_smile:

При использовании функции Ad Manager для предпросмотра одного из баннеров непосредственно в Discourse я заметил, что в консоли выводились следующие ошибки:

При разборе одной из ошибок выяснилось, что они связаны с рекламой.

Обратите внимание, что, как рекомендуется в плагине Ad, мы используем «https» и «unsafe-inline» для политики безопасности контента (CSP). Я не знаю, является ли политика игнорирования «unsafe-inline» новой или же хэш был недавно добавлен Discourse.

В любом случае, если я временно отключаю CSP, как и ожидалось, ошибки исчезают, и, что важно, Ad Manager начинает корректно отслеживать показы.

Таким образом, получается, что на практике реклама (в основном) работает, но внутренняя система отслеживания Google Ad Manager, отвечающая за отчётность на страницу, не работает (когда CSP не отключён).

Может ли проблема с директивой «unsafe-inline» в CSP быть причиной ненаблюдаемых просмотров рекламных страниц, о которых сообщается в этой теме?

1 лайк

Похоже, что из-за хеша в вашей политике CSP игнорируется unsafe-inline:

Можете ли вы каким-то образом убрать этот хеш и посмотреть, исчезнет ли проблема?

Я не добавляю хеш вручную, так как моя конфигурация CSP является стандартной, плюс внесены рекомендуемые изменения для работы плагина Ad Plugin.

Не знаю, кто добавляет этот хеш, но подозреваю, что это делает сам Discourse, так как в CSP на meta-форуме тоже есть хеш.

1 лайк

Ну ладно, но когда я перешёл на GA4 в Discourse, мои просмотры страниц выросли в 3 раза по сравнению с UA, а после перехода на другую платформу они вернулись к 30% от того, что я получал в Discourse с GA4, и теперь гораздо ближе к показателям трафика в Discourse с UA. Никто не может объяснить, почему так происходит, так что, возможно, что-то упущено. :man_shrugging:

Не уверен, что это здесь уместно, но хэш добавляется сразу после https://discourse-host/svg-sprite.

Извините, если вопрос о CSP не по теме, хотя мне кажется, что он связан — не стесняйтесь переместить мои посты в тему о плагине Ad, если это не по теме здесь.

Это интересная теория. Я немного покопался, чтобы выяснить, откуда берётся хэш, отменяющий unsafe-inline, и похоже, что его добавляет настройка сайта «splash screen». Можете ли вы временно отключить эту настройку на вашем экземпляре и посмотреть, изменится ли что-то в отчётах Ad Manager?

3 лайка

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

Завтра сообщу, учитываются ли показы нормально на стороне Ad Manager.

3 лайка

Я могу подтвердить, что после отключения заставки (и повторного включения CSP) Ad Manager начал работать нормально: для нашей рекламной кампании стали поступать данные об показах (ранее показывалось ~0 показов, несмотря на десятки кликов).

Таким образом, по крайней мере в нашем случае, мы, похоже, нашли причину и способ её обхода. Однако, думаю, это влияет не только на нас, поскольку мы используем плагин Ad Plugin с Ad Manager стандартным образом, а заставка включена по умолчанию. Не уверен, нужно ли внести изменения в инструкции плагина Ad Plugin или решить проблему с использованием хешей в CSP. В любом случае, это требует внимания, так как в текущем виде это нарушает работу кампаний Ad Manager в Discourse при использовании плагина Ad Plugin.

Готов предоставить дополнительную информацию или протестировать что-либо, если это поможет, так как знаю, что отладка таких вещей может быть сложной без наличия аккаунта Ad Manager и запуска реальной кампании.

При этом, поскольку я опубликовал это сообщение в данной теме, стоит также отметить, что количество показов,reported AdSense (который является нашим резервным решением для собственных кампаний и обрабатывает основную часть трафика), не изменилось существенно после этих обходных путей (например, отключения CSP или заставки). Похоже, проблема затрагивает только Ad Manager с напрямую продаваемыми кампаниями, но не обязательно AdSense, если он показывает рекламу — возможно, AdSense использует другой способ отправки данных о показах в Google, если вообще отправляет их. Следовательно, эта проблема с CSP не обязательно объясняет значительное расхождение, о котором сообщалось в этой теме — по крайней мере, в нашей конкретной настройке я этого не вижу, хотя та же проблема с CSP может нарушать работу другого кода Google при использовании плагина Ad Plugin.

4 лайка

Короткое дополнение здесь, @mentalstring. У @david в работе есть PR с совершенно другим подходом, который выглядит очень перспективно:

Мы сможем скоро включить это в ядро и очень скоро протестировать. Это обещает решить всевозможные проблемы с CSP в отношении программного обеспечения для управления рекламой (и инструментов управления скриптами, таких как GTM). Однако это может не повлиять на показы AdSense — это, похоже, отдельная проблема.

6 лайков

Привет, @mentalstring, вот некоторые подробности о новом подходе:

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

3 лайка

Это выглядит как хороший подход, который с большой вероятностью решит проблему с GAM и, возможно, даже упростит настройку CSP. :+1:

Мне потребуется немного времени, чтобы протестировать это самостоятельно, так как мы всё ещё находимся на версии 3.1.5, хотя планируем обновиться в ближайшее время. Как только у меня будет подтверждение, я снова сообщу здесь.

3 лайка

Я думаю, что проблему OP мы теперь исправили.

Мы добавили новый подсчет для продукта, используя отчет:

/admin/reports/consolidated_page_views_browser_detection

Как только вы исключите «Crawler» и «Other Pageviews», мы увидим соответствие с другими инструментами аналитики.

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

«Просмотр страницы браузером» означает, что реальное приложение было запущено в браузере.

3 лайка

Эта тема была автоматически закрыта через 14 дней после последнего ответа. Новые ответы больше не принимаются.