Как интегрировать ExoClick с AgeGO
Это руководство призвано объяснить:
- Как отправить сайт в AgeGO.
- Как передать параметры проверки возраста в ExoClick и блокировать рекламу в рекламных зонах.
- Как интегрировать рекламные зоны AgeGO и ExoClick, чтобы показывать рекламу SFW пользователям до того, как они подтвердят свой возраст.
Как отправить сайт в AgeGO
Чтобы отправить сайт в AgeGO, войдите в панель управления AgeGO dashboard. Затем перейдите в раздел "Мои сайты" и нажмите "Новый сайт":

Из этих настроек вам нужно добавить, по крайней мере, Имя и Домен верхнего уровня. Завершив эти настройки, нажмите "Создать". Сайт будет добавлен в вашу учетную запись.
По умолчанию все сайты при создании имеют статус "Готов". Однако это еще не означает, что ваш сайт может использовать AgeGO. Чтобы включить AgeGO на своем сайте, необходимо связаться с AgeGO через контактную форму и предоставить идентификатор сайта, соответствующий вашему сайту
Идентификатор сайта можно найти рядом с названием вашего сайта:

Как только ваш сайт будет одобрен, его статус изменится на "Работает", и вы сможете следовать инструкциям по интеграции, чтобы подключить AgeGO к своему сайту. В настоящее время это решение предлагает два метода, Modal (простой или расширенный) и S2S, и инструкции по настройке каждого метода доступны на панели управления AgeGO. В данном руководстве мы рассмотрим метод Modal.
Как пройти проверку возраста и подавать SFW-объявления
При использовании системы проверки возраста (AgeGO или другого провайдера) вы, возможно, захотите продолжать показывать рекламу всем пользователям (тем, кто не подтвердил свой возраст, и тем, кто подтвердил).
Чтобы идентифицировать пользователя как прошедшего (или не прошедшего) проверку возраста, используйте параметр data-ex_av в ваших рекламных зонах. Этот параметр допускает 3 значения:
- "0": Нет проверки возраста (неопределено)
- "1": Проверка возраста - Проверено
- "2": Проверка возраста - не проверено
Затем, чтобы заблокировать рекламу для определенных пользователей (в данном контексте тех, кто не подтвердил свой возраст), используйте параметр data-block-ad-types. Этот параметр допускает несколько значений, но в данном руководстве мы будем использовать только значение 101.
Таким образом, если вы хотите подать объявление, которое является SFW, и хотите идентифицировать пользователя как человека, который еще не подтвердил свой возраст, вы интегрируете параметры следующим образом:
- Синхронные рекламные форматы (баннер, FPI, мультиформат и т. д.):
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>
<ins class="eas6a97888e2" data-zoneid="XXXXXXXX" data-ex_av="2" data-block-ad-types="101"></ins>
<script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
- In-Stream:
https://s.magsrv.com/v1/vast.php?idzone=XXXXXX&ex_av=2&block_ad_types=101 - Popunder (ссылка):
https://s.pemsrv.com/v1/link.php?cat=&idzone=XXXXX&type=8&ex_av=2&block_ad_types=101 - Прямая ссылка:
https://s.zlinkt.com/v1/d.php?z=XXXXXXX&ex_av=2&blocked_ad_types=101
Примечание: Вы должны использовать и data-ex_av, и data-block-ad-types при подаче SFW-объявлений, иначе пользователь не будет правильно идентифицирован и объявления не будут заблокированы.
И если вы хотите подавать все виды рекламы проверенному пользователю, вы будете подавать их следующим образом:
- Форматы объявлений (баннерные, FPI, мультиформатные и т. д.):
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>
<ins class="eas6a97888e2" data-zoneid="XXXXXXX" data-ex_av="1"></ins>
<script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
- In-Stream:
https://s.magsrv.com/v1/vast.php?idzone=XXXXXXXX&ex_av=1 - Popunder (ссылка):
https://s.pemsrv.com/v1/link.php?cat=&idzone=XXXXXXX&type=8&ex_av=1 - Прямая ссылка:
https://s.zlinkt.com/v1/d.php?z=XXXXXXX&ex_av=
Как создать SFW опыт
В следующем руководстве объясняется, как создать "SFW-эксперимент", то есть как обеспечить показ только SFW-объявлений, когда пользователь еще не подтвердил свой возраст. Обратите внимание, что этот метод является лишь рекомендацией, и вы можете изменить настройку, если вам нужно следовать другому потоку пользователей.
Для этой настройки нам потребуется создать отдельный файл сценария. В этом примере мы назвали его main.js:
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}
function verifier(event, container) {
window.AGEGO = window.AGEGO || function () {
(AGEGO.e = AGEGO.e || []).push(arguments)
};
AGEGO('configure', {
siteId: XXXXXXX, // Site ID of your site in AgeGo
autoBlur: true,
verifyMode: 'inline',
requireAgeVerification: true,
allowDirectContinue: false,
overlay: {
logo: 'wlogo.png', // Logo of your site
theme: 'auto'
},
events: {
onVerificationFlowEnd() {
console.log("Verification successfull");
window.location.reload();
},
onVerificationFlowFailed() {
console.log("Verification failed with errorcode:" + error);
},
onAgeVerify() {
console.log("Begin Age Verification process");
},
onDirectContinue() {
console.log("DirectContinue action");
},
onUnderageSkip() {
console.log("Skipped");
},
onVerifiedBefore() {
console.log("Verified Before");
}
}
}
);
var n = document.createEvent("Event");
n.initEvent("DOMContentLoaded", !0, !0),
document.dispatchEvent(n);
}
const TARGET_SELECTOR = '.main, .footer; // replace with classes where click will be intercepted
function intercept(e) {
const container = e.target.closest(TARGET_SELECTOR);
if (!container) return;
e.preventDefault();
e.stopImmediatePropagation();
e.stopPropagation();
verifier(e, container);
}
Этот файл содержит три функции: функцию для обнаружения cookies, функцию для загрузки оверлея AgeGO и функцию для обнаружения нажатия на определенные классы. В данном случае мы используем классы .main и .footer.
Затем в HTML-файле вашего сайта вы разместите следующее:
<!--Code from AgeGo-->
<script src="https://verifycdn.agego.com/v1/verify.js"></script>
<!-- Code with custom functions-->
<script src="main.js"></script>
<!-- Ad provider code-->
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>
<!-- Ad zones. XXXX and YYYYY correspond to the class and zone IDs provided by the Admin Panel. -->
<div id="videontv">
<ins class="XXXXXX" data-zoneid="YYYYYY" data-block-ad-types="101" data-ex_av="2"></ins>
<ins class="XXXXXX" data-zoneid="YYYYYY" data-block-ad-types="101" data-ex_av="2"></ins>
</div>
<!-- Code to serve ads with the right params-->
<script>
const agegoValue = getCookie("agego_aver");
if (agegoValue === "yes") {
console.log("user verified");
const adInsElements = document.querySelectorAll("ins");
adInsElements.forEach(ins => {
ins.setAttribute("data-ex_av", "1");
ins.setAttribute("data-block-ad-types", "0");
});
}
else {
console.log("user not verified");
['pointerdown', 'click', 'touchstart'].forEach(type => {
document.addEventListener(type, intercept, { capture: true });
});
}
(AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
В этом примере объявления по умолчанию являются SFW, пока пользователь не подтвердит свой возраст. Когда пользователь нажимает на выбранные классы, о которых мы говорили ранее, появляется накладка AgeGO. После того как пользователь подтвердит свой возраст, страница загрузится нормально, и на этот раз она не будет блокировать рекламу.
Несколько замечаний по поводу этого учебника:
- Эта настройка полагается на куки
agego_aver, установленные AgeGO. Однако это можно изменить: вы можете установить значение в localStorage, используя события скрипта AgeGO, а затем решить, какие объявления показывать, основываясь на этом значении. - Оба метода ориентированы только на показ рекламы. Эскизы видео и другой контент сайта в этом коде не учитываются.
- В настоящее время в AgeGO нет встроенной функции определения страны. Вам нужно решить, когда вы хотите показать этот код.
Если вы хотите настроить data-ex_av и data-block-ad-types на основе различных событий по вашему выбору, то ознакомьтесь с другими нашими руководствами: динамически блокировать типы объявлений, динамически блокировать типы объявлений в рекламных зонах in-stream.
Наконец, для более общей интеграции рекламной зоны с решением для проверки возраста, пожалуйста, ознакомьтесь с этим другим руководством