Supporto IAB per GDPR

Ai sensi delle Norme relative al consenso degli utenti dell'UE di Google, è obbligatorio informare gli utenti nello Spazio economico europeo (SEE) e nel Regno Unito e ricevere il loro consenso per l'utilizzo dei cookie o di altro spazio di archiviazione locale, laddove richiesto dalla legge, nonché per l'utilizzo dei dati personali (ad esempio l'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. È pensato per essere abbinato a Inizia, che fornisce una panoramica su come avviare l'app con l'SDK UMP e le nozioni di base sulla configurazione del messaggio. Le seguenti indicazioni sono specifiche per il messaggio GDPR relativo alla versione 2 del TCF di IAB. Per ulteriori informazioni, consulta Effetti dei requisiti IAB sui messaggi per il consenso degli utenti dell'Unione europea.

Prerequisiti

Il GDPR richiede la revoca del consenso per consentire agli utenti di ritirare le loro scelte in qualsiasi momento. Consulta Opzioni per la privacy per implementare un modo per consentire agli utenti di revocare le loro scelte relative al consenso.

Per indicare se un utente non ha l'età del consenso, imposta tagForUnderAgeOfConsent (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 il consenso non venga richiesto.

Nell'esempio seguente, TFUA viene impostato su true in una richiesta di consenso UMP:

Swift

// Create a UMPRequestParameters object.
let parameters = UMPRequestParameters()
// Indicate the user is under age of consent.
parameters.tagForUnderAgeOfConsent = true

// Request an update for the consent information.
UMPConsentInformation.sharedInstance.requestConsentInfoUpdate(with: parameters) {
  [weak self] requestConsentError in
  guard let self else { return }

  // ...
}

Objective-C

// Create a UMPRequestParameters object.
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
// Indicate the user is under age of consent.
parameters.tagForUnderAgeOfConsent = YES;

// Request an update for the consent information.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
        completionHandler:^(NSError *_Nullable 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 disporre di strumenti aggiuntivi per aiutarti a rispettare il GDPR. Per maggiori dettagli, consulta la guida all'integrazione di un partner specifico.

Dopo aver raccolto il consenso GDPR, puoi leggere le scelte relative al consenso dallo spazio di archiviazione locale in base alla specifica della versione 2 del TCF. La chiave IABTCF_PurposeConsents indica il consenso per ciascuno degli scopi del TCF.

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

Swift

// Example value: "1111111111"
let purposeConsents = UserDefaults.standard.string(forKey: "IABTCF_PurposeConsents")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
let hasConsentForPurposeOne = purposeConsents?.first == "1"

Objective-C

// Example value: "1111111111"
NSString *purposeConsents = [NSUserDefaults.standardUserDefaults
                             stringForKey:@"IABTCF_PurposeConsents"];
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
BOOL hasConsentForPurposeOne = [purposeConsents hasPrefix:@"1"];

Domande frequenti

Cosa succede se non faccio nulla per soddisfare i requisiti delle piattaforme di gestione del consenso per la pubblicazione di annunci nel SEE e nel Regno Unito?

A partire dal 16 gennaio 2024, se un partner non adotta una CMP certificata da Google, solo annunci con limitazioni saranno idonei alla pubblicazione per il traffico nel SEE e nel Regno Unito.

L'applicazione inizierà il 16 gennaio 2024 per una piccola parte del traffico 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. Implementa 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 finalità e fornitori come definito nella specifica del TCF di IAB. Consulta Norme relative al consenso: annunci personalizzati e non personalizzati per conoscere i criteri di personalizzazione di Google Ads.

Inoltre, le tecnologie pubblicitarie nell'elenco dei fornitori di tecnologia pubblicitaria (ATP) di Google che non sono registrate nell'elenco dei fornitori del 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à di debug delle unità pubblicitarie avanzate nell'ispettore degli annunci per esportare una stringa di richiesta di annuncio. Cerca poi i seguenti parametri di query:

Parametro di ricerca Significato
gdpr Indica se il GDPR si applica a questa richiesta di annuncio.
gdpr_consent La stringa TC. L'IAB fornisce uno strumento web in cui puoi decodificare manualmente il valore.
addtl_consent La stringa AC riportata nella specifica tecnica del Consenso aggiuntivo di Google.

Per leggere le scelte relative al consenso in modo programmatico, consulta Come leggere le scelte relative al consenso per ulteriori informazioni.

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

No, puoi utilizzare qualsiasi CMP elencata nell'elenco di CMP certificate da Google per pubblicare annunci.

Come faccio a mostrare di nuovo il modulo di 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 è scaduta o non diventa non valida.

Il GDPR richiede la modifica del consenso per consentire agli utenti di revocare le proprie scelte in qualsiasi momento. Consulta le opzioni per la privacy per implementare un modo per consentire agli utenti di revocare le loro scelte relative al consenso. Per visualizzare di nuovo un modulo per il consenso, chiama presentPrivacyOptionsFormFromViewController:completionHandler:.

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

Ai sensi del 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 nell'elenco dei fornitori di tecnologia pubblicitaria (ATP) di Google non sono registrati nell'elenco dei fornitori del 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 la memorizzazione dell'ACString, 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. Verifica che la CMP di terze parti supporti l'archiviazione dell'ACString.
  2. Includi ogni partner di mediazione nell'elenco dei fornitori di tecnologia pubblicitaria utilizzati dalla CMP di terze parti per raccogliere il consenso.
Posso modificare il funzionamento della mia app se gli utenti non danno il consenso? È consentito dai criteri?

I publisher possono leggere la stringa del TCF di IAB nelle loro app. Consulta Come leggere le scelte relative al consenso per informazioni su come leggere le scelte relative al consenso in modo programmatico. Gli editori devono esaminare le proprie obbligazioni ai sensi delle normative pertinenti con un consulente legale.

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

Oltre a raccogliere il consenso per le finalità, devi anche raccogliere il consenso del fornitore. Sia il consenso per gli scopi sia il consenso del fornitore sono necessari per consentire a qualsiasi fornitore, come Google, di pubblicare annunci appropriati.

Qual è la best practice per mostrare sia l'avviso ATT per iOS sia il consenso per il GDPR allo stesso utente?

Ti consigliamo di mostrare prima il messaggio per il consenso GDPR e poi l'avviso ATT per iOS se l'utente ha dato il consenso al GDPR. Questo aspetto è già gestito dall'SDK UMP se configuri entrambi i messaggi nell'interfaccia utente di AdMob. Per ulteriori informazioni, consulta Quale messaggio verrà visualizzato dagli utenti.

Se non mostri l'avviso ATT utilizzando l'SDK UMP, ti consigliamo di leggere le scelte relative al consenso una volta raccolto il consenso GDPR per determinare se mostrare l'avviso ATT per iOS.

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 nello spazio di archiviazione locale in base alle specifiche tecniche del consenso aggiuntivo di Google per determinare se un utente ha dato il consenso alla versione 2 della stringa AC e se è necessario mostrare di nuovo il modulo di consenso.

Swift

// Example value: "2~1.35.41.101~dv.9.21.81"
let additionalConsent = UserDefaults.standard.string(forKey: "IABTCF_AddtlConsent")
// Index 0 contains information about the specification version number.
let isACVersion2 = additionalConsent?.first == "2"

Objective-C

// Example value: "2~1.35.41.101~dv.9.21.81"
NSString *additionalConsent = [NSUserDefaults.standardUserDefaults
                        stringForKey:@"IABTCF_AddtlConsent"];
// Index 0 contains information about the specification version number.
BOOL isACVersion2 = [additionalConsent hasPrefix:@"2"];