> 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/tutorials/es/tutoriales/tutoriales-para-editores/serve-sfw-ads.md).

# Cómo mostrar anuncios SFW con ExoClick

A medida que los países comienzan a implementar leyes de verificación de edad, los editores necesitan encontrar una manera de cumplir con estas leyes sin dejar de minimizar el impacto que estas tienen en sus ingresos. Por eso ExoClick ha introducido un par de parámetros que se pueden añadir a las zonas de anuncios para ayudar a los editores no solo a bloquear productos NSFW, sino también a rastrear si estos usuarios realmente logran verificar su edad. En este tutorial, te mostraremos cómo usar estos parámetros.

## data-ex\_av

El `parámetro data-ex_av` determina si el usuario ha verificado o no su edad y permite 3 valores:

* `"0"`: Sin verificación de edad (indefinido)
* `"1"`: Verificación de edad - Verificado
* `"2"`: Verificación de edad - No verificado (SFW)

Ejemplo de código:

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
 <ins class="eas6a97888e2" data-zoneid="5209020"  data-ex_av="2"></ins> 
 <script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

## data-block-ad-types

El `data-block-ad-types` el parámetro te permite bloquear sobre la marcha etiquetas específicas de tipos de anuncios. Para el propósito de bloquear anuncios NSFW, solo usaremos el valor `"101"` en este parámetro.

Ejemplo de código:

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
 <ins class="eas6a97888e2" data-zoneid="5209020"  data-block-ad-types="101"></ins> 
 <script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

## Uso de los parámetros

Teniendo en cuenta lo que hemos explicado, si quieres mostrar un anuncio que sea SFW y quieres identificar a ese usuario como alguien que todavía no ha verificado su edad, integrarás los parámetros así:

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
 <ins class="eas6a97888e2" data-zoneid="5209020" data-ex_av="2"  data-block-ad-types="101"></ins> 
 <script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

{% hint style="info" %}
**Nota**: es importante que uses ambos parámetros.
{% endhint %}

Y si quieres mostrar anuncios NSFW a un usuario verificado, los mostrarías así:

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script> 
 <ins class="eas6a97888e2" data-zoneid="5209020" data-ex_av="1"></ins> 
 <script>(AdProvider = window.AdProvider || []).push({"serve": {}});</script>
```

La siguiente sección incluye algunos ejemplos de cómo puedes añadir estos parámetros de forma dinámica a tus zonas de anuncios. Según la verificación de edad que estés usando, los usuarios podrían verificarse mediante una cookie, un parámetro de URL o algo más. En última instancia, **es tu responsabilidad detectar el estado de verificación de tus usuarios e implementar los parámetros en consecuencia.**

### Ejemplo 1: cambia los parámetros según el valor de la cookie

Supongamos que estás asignando una cookie de origen llamada “verified\_user” con el valor “yes” a los usuarios que han verificado correctamente su edad. En este escenario, puedes añadir dinámicamente los parámetros ex\_av y data-block-ad-types así:

```html
//zonas de anuncios de banner
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>
<div id=”adspot1”>
<ins class="eas6a97888e2" data-zoneid="5409832" data-block-ad-types="101" data-ex_av="2"></ins>
<div id=”adspot2”>
<ins class="eas6a97888e2" data-zoneid="5632512" data-block-ad-types="101" data-ex_av="2"></ins>
<div id=”adspot3”>
<ins class="eas6a97888e2" data-zoneid="57382911" data-block-ad-types="101" data-ex_av="2"></ins>

//zonas de anuncios fpi
<script async type="application/javascript" src="https://a.pemsrv.com/ad-provider.js"></script> 
<ins class="eas6a97888e35" data-zoneid="5045990" data-block-ad-types="101"  data-ex_av="2"></ins>

//función dinámica basada en cookie
<script>
function getCookie(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}

const verifiedUser = getCookie("verified_user");
if (verifiedUser === "verifiedUser") {
const adInsElements = document.querySelectorAll("ins");
adInsElements.forEach(ins => {
ins.setAttribute("data-ex_av", "1");
ins.setAttribute("data-block-ad-types", "0");
});
}
(AdProvider = window.AdProvider || []).push({"serve": {}});
</script>
```

Este script te permitirá mostrar anuncios NSFW a aquellos usuarios que tengan la cookie “user\_verified”. Ten en cuenta que tendrás que recargar la página después de que el usuario haya verificado su edad para que el script pueda detectar correctamente la cookie.

### Ejemplo 2: cambia los parámetros según el parámetro de la URL

En este ejemplo, suponemos que la URL recibe un parámetro llamado “user\_verified=yes” cuando el usuario verifica correctamente su edad.

```html
<script async type="application/javascript" src="https://a.magsrv.com/ad-provider.js"></script>
<div id="ad-container">
      <ins class="eas6a97888e20" data-zoneid="5662140" data-block-ad-types="101" data_ex_av="2"></ins>
</div>
    <script>
      (AdProvider = window.AdProvider || []).push({ serve: {} });
    </script>
    <script>
      const userVerified = new URLSearchParams(window.location.search).get(
        "user_verified"
      );
      if (userVerified === "yes") {
        let container = document.getElementById("ad-container");

        container.innerHTML = "";

        let newIns = document.createElement("ins");
        newIns.className = "eas6a97888e20";
        newIns.setAttribute("data-zoneid", "5662140");
        newIns.setAttribute("data-block-ad-types", "");
        newIns.setAttribute("data-ex_av","1");
        container.appendChild(newIns);

        (AdProvider = window.AdProvider || []).push({ serve: {} });
      }
    </script>
```

{% hint style="info" %}
**Recuerda**: estos ejemplos de código son meras sugerencias. Debes hablar con la herramienta de Verificación de Edad sobre cómo se verifica a los usuarios y adaptar tus scripts en consecuencia.
{% endhint %}


---

# 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/tutorials/es/tutoriales/tutoriales-para-editores/serve-sfw-ads.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.
