Saltar para o conteúdo principal

Como integrar a ExoClick com o AgeGO

Este guia tem como objetivo explicar:

  • Como submeter um sítio ao AgeGO.
  • Como passar parâmetros de verificação de idade para o ExoClick e bloquear anúncios em zonas de anúncios.
  • Como integrar as zonas de anúncios AgeGO e ExoClick de forma a mostrar anúncios SFW aos utilizadores antes de estes verificarem a sua idade.

Como submeter um sítio ao AgeGO

In order to submit a site to AgeGO, login to the AgeGO dashboard. Then, go to “My Sites” and click “New Site”:

ExoClick AgeGO 1

A partir destas definições, tem de adicionar, pelo menos, o Nome e o Domínio de Primeiro Nível. Depois de concluir estas definições, clique em "Criar". O site será adicionado à sua conta.

By default, all sites have the “Ready” status when created. However, this doesn’t mean your site can use AgeGO yet. In order to enable AgeGO in your site, you need to contact AgeGO through their contact form and provide the Site ID corresponding to your site.

Pode encontrar o ID do site junto ao nome do seu site:

ExoClick AgeGO 2

Assim que o seu sítio for aprovado, o seu estado mudará para "Em execução" e poderá seguir as instruções de integração para integrar o AgeGO no seu sítio. Esta solução oferece atualmente dois métodos, Modal (simples ou avançado) e S2S, e as instruções de configuração para cada método estão disponíveis no painel de controlo do AgeGO. Para efeitos deste guia, iremos abordar o método Modal.

Como passar parâmetros de verificação de idade para a ExoClick e bloquear anúncios

Ao utilizar um sistema de verificação da idade (AgeGO ou outro fornecedor), poderá querer continuar a apresentar anúncios a todos os utilizadores (os que não verificaram a idade e os que o fizeram).

Para identificar um utilizador como tendo (ou não) passado a verificação de idade, utilize o parâmetro data-ex_av nas suas zonas de anúncios. Este parâmetro permite 3 valores:

  • "0": Sem verificação de idade (indefinido)
  • "1": Verificação de idade - Verificado
  • "2": Verificação de idade - Não verificada

Depois, para bloquear anúncios a determinados utilizadores (neste contexto, os que não verificaram a sua idade), utilize o parâmetro data-block-ad-types. Este parâmetro permite vários valores, mas para este guia vamos utilizar apenas o valor 101.

Por conseguinte, se quiser apresentar um anúncio que seja SFW e quiser identificar esse utilizador como alguém que ainda não verificou a sua idade, integrará os parâmetros da seguinte forma:

  • Formatos de anúncios sincronizados (banner, FPI, multi-formato, etc.):
<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 (link): https://s.pemsrv.com/v1/link.php?cat=&idzone=XXXXX&type=8&ex_av=2&block_ad_types=101
  • Ligação direta: https://s.zlinkt.com/v1/d.php?z=XXXXXXX&ex_av=2&blocked_ad_types=101

Nota: É necessário utilizar tanto data-ex_av como data-block-ad-types quando servir anúncios SFW, caso contrário o utilizador não será corretamente identificado e os anúncios não serão bloqueados.

E se quiser apresentar todos os tipos de anúncios a um utilizador verificado, apresentá-los-á desta forma:

  • Formatos de anúncios sincronizados (banner, FPI, multi-formato, etc.):
<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 (link): https://s.pemsrv.com/v1/link.php?cat=&idzone=XXXXXXX&type=8&ex_av=1
  • Ligação direta: https://s.zlinkt.com/v1/d.php?z=XXXXXXX&ex_av=

Como integrar o AgeGO com os anúncios ExoClick para apresentar anúncios SFW quando o utilizador ainda não verificou a sua idade

O seguinte tutorial explica como criar uma "experiência SFW", ou seja, como garantir que apenas são apresentados anúncios SFW quando o utilizador ainda não verificou a sua idade. Tenha em atenção que este método é apenas uma recomendação e que pode alterar a configuração se precisar de seguir um fluxo de utilizador diferente.

Para esta configuração, precisamos de criar um ficheiro de script separado. Neste exemplo, chamámos-lhe 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);
}

Este ficheiro contém três funções: uma função para detetar cookies, uma função para carregar a sobreposição AgeGO e uma função para detetar o clique em classes específicas. Neste caso, estamos a utilizar as classes .main e .footer.

Em seguida, no HTML do seu sítio, colocará o seguinte:

<!--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>

Neste exemplo, os anúncios são SFW por defeito até o utilizador verificar a sua idade. Quando o utilizador clicar nas classes selecionadas que mencionámos anteriormente, aparecerá a sobreposição AgeGO. Depois de o utilizador verificar a sua idade, a página será carregada normalmente e, desta vez, não bloqueará quaisquer anúncios.


Algumas notas sobre este tutorial:

  1. Esta configuração depende do cookie agego_aver definido pelo AgeGO. No entanto, isto pode ser alterado: pode definir um valor em localStorage utilizando os eventos do script AgeGO e, em seguida, decidir quais os anúncios a apresentar com base nesse valor.
  2. Ambos os métodos centram-se apenas na apresentação de anúncios. As miniaturas de vídeo e outros conteúdos do sítio Web não são tidos em conta neste código.
  3. Atualmente, o AgeGO não tem deteção de país incorporada. Tem de decidir quando pretende mostrar este código.

If you want to set up the data-ex_av and data-block-ad-types based on different events of your choice, then consider checking our other tutorials: dynamically block ad types, dynamically block ad types in in-stream ad zones.

Lastly, for a more generic ad zone integration with an age verification solution, please check this other tutorial.