Comunicazione agli utenti del SEE

Ai sensi delle Norme relative al consenso degli utenti dell'UE di Google, devi mostrare determinate informative agli utenti nello Spazio economico europeo (SEE), nel Regno Unito e in Svizzera e ottenere il loro consenso per l'utilizzo dei cookie o di altri tipi di archiviazione locale, laddove richiesto dalla legge, nonché per l'utilizzo dei dati personali (ad es. AdID) per pubblicare annunci.

Queste norme riflettono i requisiti della direttiva e-Privacy e del Regolamento generale sulla protezione dei dati (GDPR) dell'UE.

Questa guida illustra i passaggi necessari per supportare il messaggio GDPR IAB TCF v2 nell'ambito dell'SDK UMP. È pensata per essere utilizzata insieme alla guida Guida introduttiva, che fornisce una panoramica su come eseguire l'app con l'SDK UMP e le nozioni di base per la configurazione del messaggio. Le seguenti indicazioni sono specifiche per il messaggio GDPR IAB TCF v2. Per ulteriori informazioni, consulta l'articolo Effetti dei requisiti IAB sui messaggi per il consenso degli utenti dell'UE.

Prerequisiti

Il GDPR richiede la revoca del consenso per consentire agli utenti di ritirare le proprie scelte di consenso in qualsiasi momento. Consulta la sezione Opzioni sulla privacy per implementare un modo in cui gli utenti possono ritirare le proprie scelte di consenso.

Per indicare se un utente è sotto l'età del consenso digitale, imposta setTagForUnderAgeOfConsent (TFUA). Quando imposti TFUA su true, l'SDK UMP non richiede il consenso dell'utente. Se la tua app ha un pubblico misto, imposta questo parametro per gli utenti minorenni per assicurarti che non venga richiesto il consenso.

L'esempio seguente imposta TFUA su true in una richiesta di consenso UMP:

Java

ConsentRequestParameters params = new ConsentRequestParameters
    .Builder()
    // Indicate the user is under age of consent.
    .setTagForUnderAgeOfConsent(true)
    .build();

consentInformation = UserMessagingPlatform.getConsentInformation(this);
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    (OnConsentInfoUpdateSuccessListener) () -> {
      // ...
    },
    (OnConsentInfoUpdateFailureListener) requestConsentError -> {
      // ...
    });

Kotlin

val params = ConsentRequestParameters
    .Builder()
    // Indicate the user is under age of consent.
    .setTagForUnderAgeOfConsent(true)
    .build()

consentInformation = UserMessagingPlatform.getConsentInformation(this)
consentInformation.requestConsentInfoUpdate(
    this,
    params,
    ConsentInformation.OnConsentInfoUpdateSuccessListener {
      // ...
    },
    ConsentInformation.OnConsentInfoUpdateFailureListener {
      requestConsentError ->
      // ...
    })

Mediazione

Segui i passaggi descritti in Aggiungere partner pubblicitari ai messaggi GDPR pubblicati per aggiungere i partner di mediazione all'elenco dei partner pubblicitari. In caso contrario, i partner potrebbero non pubblicare annunci nella tua app.

I partner di mediazione potrebbero anche avere strumenti aggiuntivi per aiutarti a rispettare il GDPR. Per ulteriori dettagli, consulta la guida all'integrazione di un partner specifico.

Dopo aver raccolto il consenso GDPR, puoi leggere le scelte di consenso dall'archiviazione locale seguendo la specifica TCF v2. La IABTCF_PurposeConsents chiave indica il consenso per ciascuno degli scopi del TCF.

Il seguente snippet di codice mostra come verificare il consenso per lo scopo 1:

Java

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "1111111111"
String purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "");
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isEmpty()) {
  String purposeOneString = purposeConsents.charAt(0).toString();
  boolean hasConsentForPurposeOne = purposeOneString.equals("1");
}

Kotlin

val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "1111111111"
val purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (purposeConsents?.isEmpty() == false) {
  val purposeOneString = purposeConsents.first().toString()
  val hasConsentForPurposeOne = purposeOneString == "1"
}

Domande frequenti

Cosa succede se non intraprendo alcuna azione per soddisfare i requisiti della piattaforma di gestione del consenso per la pubblicazione di annunci nel SEE, nel Regno Unito e in Svizzera?

A partire dal 16 gennaio 2024, se un partner non adotta una CMP certificata da Google, potrà pubblicare soltanto annunci con limitazioni per il traffico del SEE e del Regno Unito.

L'applicazione inizierà il 16 gennaio 2024 per una piccola parte del traffico generato nel SEE e nel Regno Unito e verrà estesa fino a comprendere tutto il traffico proveniente da queste aree entro la fine di febbraio 2024. Inizia a utilizzare una CMP certificata entro il 16 gennaio 2024 per evitare conseguenze negative a livello di monetizzazione.

Come faccio a verificare se l'utente ha dato il consenso?

Il consenso non è rappresentato da un singolo bit, ma da un insieme di scopi e fornitori definiti nella specifica IAB TCF. Per i criteri di personalizzazione di Google Ads, consulta Norme relative al consenso: annunci personalizzati e non personalizzati.

Inoltre, le tecnologie pubblicitarie nell'elenco dei fornitori di tecnologia pubblicitaria (ATP) di Google che non sono registrate nell' elenco dei fornitori TCF utilizzano la specifica tecnica del Consenso aggiuntivo di Google per la raccolta del consenso. Google pubblica l'elenco dei fornitori di tecnologia pubblicitaria non registrati a IAB e i rispettivi ID nel seguente percorso: https://storage.googleapis.com/tcfac/additional-consent-providers.csv.

Per eseguire il debug di una singola richiesta di annuncio, utilizza la funzionalità Risoluzione dei problemi delle impostazioni sulla privacy nello strumento di controllo degli annunci per visualizzare i seguenti indicatori sulla privacy trasmessi nella richiesta di annuncio nell'ambito dell' integrazione del publisher con il TCF di IAB Europe:

Etichetta dello strumento di controllo degli annunci Parametro di query della richiesta di annuncio Significato
Si applica il GDPR (IABTCF_gdprApplies) gdpr Indica se il GDPR si applica a questa richiesta di annuncio.
Stringa TC (IABTCF_TCString) gdpr_consent La stringa TC. IAB fornisce uno strumento web in cui puoi decodificare manualmente il valore.
Stringa CA (IABTCF_AddtlConsent) addtl_consent La stringa CA della specifica tecnica del Consenso aggiuntivo di Google's.

Per leggere le scelte di consenso a livello di programmazione, consulta la sezione Come leggere le scelte di consenso per ulteriori informazioni.

Devo utilizzare l'SDK UMP di Google per soddisfare il requisito della CMP?

No, puoi utilizzare qualsiasi CMP dall' elenco delle CMP certificate da Google per pubblicare annunci.

Come faccio a mostrare di nuovo il modulo per il consenso utilizzando l'SDK UMP anche se l'utente ha già dato il consenso?

Se un utente ha già preso una decisione in merito al consenso, la soluzione di gestione del consenso di Google non richiederà di raccogliere un nuovo consenso finché la stringa TC non scade o non diventa altrimenti non valida.

Il GDPR richiede la modifica del consenso per consentire agli utenti di ritirare le proprie scelte di consenso in qualsiasi momento. Consulta la sezione Opzioni sulla privacy per implementare un modo in cui gli utenti possono ritirare le proprie scelte di consenso. Per mostrare di nuovo un modulo per il consenso, chiama showPrivacyOptionsForm().

Ho integrato una CMP certificata da Google, ma non vedo richieste di annunci inviate ai partner di mediazione, nemmeno da utenti che hanno dato il consenso. Perché?

In base al TCF, Google verifica che i fornitori di tecnologia pubblicitaria e altre origini della domanda programmatica non violino le norme di Google e abbiano almeno un fondamento giuridico per elaborare i dati prima di includerli nella struttura a cascata della mediazione. Per ulteriori informazioni, vai alla sezione sulla mediazione.

Alcuni partner di mediazione in Google's Ad Tech Providers (ATP) list non sono registrati nell'elenco dei fornitori TCF. Questi partner utilizzano invece la specifica tecnica del Consenso aggiuntivo di Google per la raccolta del consenso. Google pubblica l'elenco dei fornitori di tecnologia pubblicitaria non registrati a IAB e i rispettivi ID nel seguente percorso: https://storage.googleapis.com/tcfac/additional-consent-providers.csv

L'SDK UMP supporta l'archiviazione della stringa AC, consentendoti di aggiungere partner pubblicitari ai messaggi GDPR pubblicati senza dover capire se i partner sono registrati al TCF. Quando utilizzi una CMP di terze parti, devi:

  1. Verificare che la CMP di terze parti supporti l'archiviazione della stringa AC.
  2. Includere ogni partner di mediazione nell'elenco dei fornitori di tecnologia pubblicitaria che la CMP di terze parti utilizza per raccogliere il consenso.
Posso modificare il funzionamento della mia app se gli utenti non danno il consenso? È consentito dalle norme?

I publisher possono leggere la stringa IAB TCF nelle loro app. Per informazioni su come leggere le scelte di consenso a livello di programmazione, consulta la sezione Come leggere le scelte di consenso. I publisher devono esaminare i propri obblighi ai sensi dei regolamenti pertinenti con un consulente legale.

Quando seleziono Gestisci opzioni e do il consenso per tutti gli scopi, non vedo annunci. Perché?

Oltre a raccogliere il consenso per gli scopi, devi raccogliere anche il consenso dei fornitori. Sia il consenso per gli scopi sia il consenso dei fornitori sono necessari affinché qualsiasi fornitore, come Google, possa pubblicare annunci appropriati.

Come faccio a implementare la versione 2 della stringa AC per gli utenti che hanno già dato il consenso alla versione 1?

Controlla la chiave IABTCF_AddtlConsent nell'archiviazione locale in base alla specifica tecnica del Consenso aggiuntivo di Google per determinare se un utente ha dato il consenso alla versione 2 della stringa AC e se devi mostrare di nuovo il modulo per il consenso.

Java

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "2~1.35.41.101~dv.9.21.81"
String additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "");
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  String specACVersion = additionalConsent.charAt(0);
  boolean isACVersion2 = purposeOneString.equals("2");
}

Kotlin

val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "2~1.35.41.101~dv.9.21.81"
val additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "")
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  val specACVersion = additionalConsent.first()
  val isACVersion2 = specACVersion == "2"
}