> For the complete documentation index, see [llms.txt](https://docs.exoclick.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.exoclick.com/publishers/it/exoclick-agego.md).

# Come integrare ExoClick con AgeGO

Questa guida ha lo scopo di spiegare:

* Come inviare un sito ad AgeGO.
* Come passare i parametri di verifica dell'età a ExoClick e bloccare gli annunci sulle zone pubblicitarie.
* Come integrare insieme AgeGO e le zone pubblicitarie di ExoClick in modo da mostrare annunci SFW agli utenti prima che verifichino la propria età.

## Come inviare un sito ad AgeGO

Per inviare un sito ad AgeGO, accedi al [dashboard di AgeGO](https://dashboard.agego.com/login). Quindi, vai su “My Sites” e fai clic su “New Site”:

![ExoClick AgeGO 1](/files/9a665acfa0953c5a4f90bb6011567e3a6064d715)

Da queste impostazioni, devi almeno aggiungere il **Nome** e il **Dominio di primo livello**. Una volta completate queste impostazioni, fai clic su “Create”. Il sito verrà aggiunto al tuo account.

Per impostazione predefinita, tutti i siti hanno lo stato “Ready” quando vengono creati. Tuttavia, questo non significa che il tuo sito possa ancora utilizzare AgeGO. Per abilitare AgeGO nel tuo sito, devi [**contattare AgeGO tramite il loro modulo di contatto**](https://www.agego.com/contact-us-business) **e fornire il Site ID corrispondente al tuo sito.**

Puoi trovare il Site ID accanto al nome del tuo sito:

![ExoClick AgeGO 2](/files/5bbbfdbb65d01dc8fbcb045230199ae526f0526c)

Una volta che il tuo sito è approvato, il suo stato cambierà in “Running” e potrai seguire le istruzioni di integrazione per integrare AgeGO nel tuo sito. Questa soluzione offre attualmente due metodi, **Modale (semplice o avanzato)** e **S2S**, e le istruzioni di configurazione per ciascun metodo sono disponibili nella dashboard di AgeGO. Ai fini di questa guida, parleremo del **Modale** metodo.

## Come passare lo stato di verifica dell'età e servire annunci SFW

Quando si utilizza un sistema di verifica dell'età (AgeGO o un altro fornitore), potresti voler continuare a mostrare annunci a tutti gli utenti (quelli che non hanno verificato la propria età e quelli che l'hanno fatto).

Per identificare un utente come qualcuno che ha (o non ha) superato la verifica dell'età, usa il `data-ex_av` parametro sulle tue zone pubblicitarie. Questo parametro consente 3 valori:

* “0”: Nessuna verifica dell'età (non definito)
* “1”: Verifica dell'età - Verificato
* “2”: Verifica dell'età - Non verificato

Quindi, per bloccare gli annunci a determinati utenti (in questo contesto, quelli che non hanno verificato la propria età), usa il `data-block-ad-types` parametro. Questo parametro consente più valori, ma per questa guida utilizzeremo solo il valore `101`.

Pertanto, se vuoi servire un annuncio SFW e vuoi identificare quell'utente come qualcuno che non ha ancora verificato la propria età, integrerai i parametri in questo modo:

* **Formati pubblicitari asincroni (banner, FPI, multiformato, ecc.):**

```html
<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`
* **Direct Link**: `https://s.zlinkt.com/v1/d.php?z=XXXXXXX&ex_av=2&blocked_ad_types=101`

**Nota**: Devi usare entrambi `data-ex_av` e `data-block-ad-types` quando servi annunci SFW, altrimenti l'utente non verrà identificato correttamente e gli annunci non verranno bloccati.

E se vuoi servire tutti i tipi di annunci a un utente verificato, li servirai in questo modo:

* **Formati pubblicitari asincroni (banner, FPI, multiformato, ecc.):**

```html
<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`
* **Direct Link**: `https://s.zlinkt.com/v1/d.php?z=XXXXXXX&ex_av=`

## Come creare un'esperienza SFW

Il seguente tutorial spiega come creare una “esperienza SFW”, cioè come assicurarsi che vengano serviti solo annunci SFW quando l'utente non ha ancora verificato la propria età. Nota che questo metodo è solo una raccomandazione e puoi modificare la configurazione se devi seguire un flusso utente diverso.

Per questa configurazione, dovremo creare un file di script separato. In questo esempio, lo abbiamo chiamato `main.js`:

```javascript
function getCookie(name) {
  const value = `${document.cookie};`;
  const parts = value.split(`${name}=`);
  if (parts.length !== 2) return false;
  const token = parts.pop().split(";").shift();
  const format = token.split(".");
  if (format.length !== 3) return false;
  try {
    format.slice(0, 2).forEach(part => {
      const padded = part + "=".repeat((4 - part.length % 4) % 4);
      atob(padded.replace(/-/g, "+").replace(/_/g, "/"));
    });
    return true; 
  } catch (e) {
    return false; 
  }
}

function verifier(event, container) {
    window.AGEGO = window.AGEGO || function () {
	(AGEGO.e = AGEGO.e || []).push(arguments)
	};
     AGEGO('configure', {
	siteId: XXXXXXX, // ID del sito del tuo sito in AgeGO
	autoBlur: true,
	verifyMode: 'inline', 
	requireAgeVerification: true, 
	allowDirectContinue: false, 
	overlay: {
		logo: 'wlogo.png', // Logo del tuo sito
		theme: 'auto'
		},
	events: {
		onVerificationFlowEnd() {
			console.log("Verifica riuscita");
			window.location.reload();
			},
            	onVerificationFlowFailed() {
			console.log("Verifica fallita con codice errore:" + error);
			},
            	onAgeVerify() {
			console.log("Avvio del processo di verifica dell'età");
			},
            	onDirectContinue() {
			console.log("Azione DirectContinue");
			},
            	onUnderageSkip() {
			console.log("Saltato");
			},
            	onVerifiedBefore() {
			console.log("Verificato in precedenza");
			}
		}
	       }
	);

            var n = document.createEvent("Event");
            n.initEvent("DOMContentLoaded", !0, !0),
            document.dispatchEvent(n);
}

const TARGET_SELECTOR = '.main, .footer; // sostituisci con le classi in cui il clic verrà intercettato

function intercept(e) {
   const container = e.target.closest(TARGET_SELECTOR);
   if (!container) return; 
        
   e.preventDefault();
   e.stopImmediatePropagation(); 
   e.stopPropagation();

   verifier(e, container);
}
```

Questo file contiene tre funzioni: una funzione per rilevare i cookie, una funzione per caricare l'overlay di AgeGO e una funzione per rilevare il clic su classi specifiche. In questo caso, stiamo usando le classi `.main` e `.footer`.

Quindi, nell'HTML del tuo sito, inserirai quanto segue:

```html
<!--Codice da AgeGo-->
<script src="https://verifycdn.agego.com/v1/verify.js"></script>

<!-- Codice con funzioni personalizzate-->
<script src="main.js"></script>

<!-- Codice del provider pubblicitario-->
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>

<!-- Zone pubblicitarie. XXXX e YYYYY corrispondono alla classe e agli ID delle zone forniti dal pannello di amministrazione. -->
<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>

<!-- Codice per servire annunci con i parametri corretti-->
<script>
	const agegoValue = getCookie("agego_aver");
	if (agegoValue !== false)  {
               console.log("utente verificato");
        	   const adInsElements = document.querySelectorAll("ins");
        	   adInsElements.forEach(ins => {
            	ins.setAttribute("data-ex_av", "1");
            	ins.setAttribute("data-block-ad-types", "0");
        		});
    	   }
             else {
                 console.log("utente non verificato");
                 ['pointerdown', 'click', 'touchstart'].forEach(type => {
                 document.addEventListener(type, intercept, { capture: true });
                 });
             }
	(AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

In questo esempio, **gli annunci sono SFW per impostazione predefinita finché l'utente non verifica la propria età**. Quando l'utente fa clic sulle classi selezionate menzionate in precedenza, apparirà l'overlay di AgeGO. Dopo che l'utente verifica la propria età, **la pagina verrà caricata normalmente e questa volta non bloccherà alcun annuncio**.

***

Alcune note riguardo a questo tutorial:

1. Questa configurazione si basa sul `agego_aver` cookie impostato da AgeGO. Tuttavia, questo può essere modificato: puoi impostare un valore in localStorage usando gli eventi dello script di AgeGO e poi decidere quali annunci mostrare in base a quel valore.
2. Entrambi i metodi si concentrano solo sulla pubblicazione degli annunci. Le miniature dei video e altri contenuti del sito non vengono presi in considerazione in questo codice.
3. Attualmente, AgeGO non dispone di rilevamento nativo del paese. Devi decidere quando vuoi mostrare questo codice.

***

Se vuoi configurare il `data-ex_av` e `data-block-ad-types` in base a diversi eventi a tua scelta, allora considera di consultare i nostri altri tutorial: [bloccare dinamicamente i tipi di annunci](/tutorials/tutorials/publishers-tutorials/dynamically-block-ads-using-data-block-ad-types.md), [bloccare dinamicamente i tipi di annunci nelle zone pubblicitarie in-stream](/tutorials/tutorials/publishers-tutorials/dynamically-block-ad-types-for-exoclick-in-stream-zones.md).

Infine, per un'integrazione più generica della zona pubblicitaria con una soluzione di verifica dell'età, consulta [quest'altro tutorial.](/tutorials/tutorials/publishers-tutorials/serve-sfw-ads.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.exoclick.com/publishers/it/exoclick-agego.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
