Tutoriel: Mesurer les conversions Ads iOS

Étape 3 : Lancer la mesure des conversions sur les appareils à l'aide de Google Analytics


Introduction : Mesurer les conversions des annonces iOS
Étape 1: Mettre en œuvre une expérience de connexion
Étape 2: Intégrer Google Analytics

Étape 3 : Lancer la mesure des conversions sur les appareils à l'aide de Google Analytics

Étape 4 : Dépanner et résoudre les problèmes courants


Maintenant que vous pouvez collecter les adresses e-mail et les numéros de téléphone des utilisateurs, et que votre application dispose du Google Analytics pour le SDK Firebase, vous pouvez utiliser ces deux éléments pour commencer à mesurer les conversions.

Appeler l'API

Appelez l'API de mesure des conversions avec l'adresse e-mail ou le numéro de téléphone fourni à l'étape 1, qui est utilisé pour mesurer les conversions des annonces, sans autoriser la transmission d'informations permettant d'identifier personnellement l'utilisateur hors de son appareil.

Vous pouvez lancer la mesure de deux manières :

Utiliser une adresse e-mail ou un numéro de téléphone

Swift

Importez le module FirebaseAnalytics et transmettez l'adresse e-mail ou le numéro de téléphone à l'API initiateOnDeviceConversionMeasurement().

import FirebaseAnalytics

// ...
// If you're using an email address....
Analytics.initiateOnDeviceConversionMeasurement(emailAddress: "example@gmail.com")
// If you're using a phone number....
Analytics.initiateOnDeviceConversionMeasurement(phoneNumber: "+15555555555")

Objective-C

Importez le module FirebaseAnalytics et transmettez l'adresse e-mail à l'API initiateOnDeviceConversionMeasurementWithEmailAddress: ou le numéro de téléphone à l'API initiateOnDeviceConversionMeasurementWithPhoneNumber:.

@import FirebaseAnalytics;

// ...
// If you're using an email address....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithEmailAddress:@"example@gmail.com"];
// If you're using a phone number....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithPhoneNumber:@"+15555555555"];

Unity

Importez l'espace de noms Firebase.Analytics et transmettez l'adresse e-mail à l'API InitiateOnDeviceConversionMeasurementWithEmailAddress() ou le numéro de téléphone à l'API InitiateOnDeviceConversionMeasurementWithPhoneNumber() :

using Firebase.Analytics;

// ...
// If you're using an email address....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithEmailAddress("example@gmail.com");
// If you're using a phone number....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithPhoneNumber("+15555555555");

Bonnes pratiques pour appeler l'API

Pour garantir une mesure des conversions sur les appareils précise et continue, procédez de l'une des manières suivantes :

Google Analytics pour le SDK Firebase version 12.1.0 et ultérieures incluent des améliorations de la mesure des conversions sur les appareils. Pour vous assurer que ces améliorations s'appliquent à tous les utilisateurs, y compris ceux qui étaient déjà connectés avant la mise à jour de votre application, il est essentiel d'appeler à nouveau l'API initiateOnDeviceConversionMeasurement après la mise à jour de l'application.

Plus précisément, les utilisateurs qui se sont connectés avant la mise à jour de votre application vers la version 12.1.0 du SDK ne sont pas inclus dans le champ d'application de la mesure améliorée tant que l'API initiateOnDeviceConversionMeasurement n'est pas appelée à nouveau pour eux. Sans la vérification de la mise à jour de l'application, cela ne se produirait que s'ils se déconnectaient et se reconnectaient.

La bonne pratique consiste à appeler l'API pour les utilisateurs connectés au moins une fois par version d'application. Vous pouvez implémenter une vérification au lancement de l'application pour n'appeler l'API que lorsque la version de l'application a changé depuis le dernier appel.

Swift

// On app launch if the app version has changed, call the API with the first-party data
// (for example: email address, phone number, hashed email address, hashed phone number).
let cachedAppVersion = UserDefaults.standard.string(forKey: "cachedAppVersion")
let currentAppVersion =
    Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String

if cachedAppVersion != currentAppVersion {
  let hashedEmailAddress = ...
  Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress)
  UserDefaults.standard.set(currentAppVersion, forKey: "cachedAppVersion")
}

Objective-C

// On app launch if the app version has changed, call the API with the first-party data
// (for example: email address, phone number, hashed email address, hashed phone number).
NSString *cachedAppVersion =
    [[NSUserDefaults standardUserDefaults] stringForKey:@"cachedAppVersion"];
NSString *currentAppVersion = [[NSBundle mainBundle]
    objectForInfoDictionaryKey:@"CFBundleShortVersionString"];

if (![cachedAppVersion isEqualToString:currentAppVersion]) {
  NSString *hashedEmailAddress = ...
  [FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress];
  [[NSUserDefaults standardUserDefaults] setObject:currentAppVersion
                                            forKey:@"cachedAppVersion"];
}

Unity

// On app launch if the app version has changed, call the API with the first-party data
// (for example: email address, phone number, hashed email address, hashed phone number).
string cachedAppVersion = PlayerPrefs.GetString("cached_app_version", "");
string currentAppVersion = Application.version;

if (cachedAppVersion != currentAppVersion) {
  byte[] hashedEmailAddress = ...
  FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(
      hashedEmailAddress);
  PlayerPrefs.SetString("cached_app_version", currentAppVersion);
  PlayerPrefs.Save();
}

Appeler immédiatement après la connexion

Appelez toujours l'API initiateOnDeviceConversionMeasurement juste après qu'un utilisateur s'est connecté ou a enregistré son adresse e-mail ou son numéro de téléphone.

Considérations sur le timing pour les nouvelles inscriptions

Si un événement de conversion clé se produit immédiatement après l'inscription d'un utilisateur (et que vous appelez l'API), envisagez d'implémenter un petit délai (par exemple, cinq secondes) entre l'appel d'API et la journalisation de l'événement clé. Cela permet de s'assurer que la mesure sur l'appareil est entièrement initialisée avant la journalisation de l'événement.

Utiliser une adresse e-mail ou un numéro de téléphone haché

L'API accepte les adresses e-mail et les numéros de téléphone hachés avec SHA256. Vous pouvez garder le contrôle des données de vos utilisateurs en effectuant le hachage dans votre code avant d'appeler le SDK.

Pour utiliser des identifiants hachés, normalisez les adresses et les numéros, hachez-les avec SHA256, puis appelez l'API.

Normaliser les adresses e-mail et les numéros de téléphone

Pour les adresses e-mail, l'Google Analytics API suppose qu'une normalisation particulière est effectuée avant l'application de SHA256. Suivez donc ces étapes pour normaliser vos données :

  1. Convertissez l'intégralité de l'adresse e-mail en minuscules.

  2. Si l'adresse e-mail se termine par le domaine @googlemail.com, remplacez le @googlemail.com domaine par @gmail.com.

  3. Pour les adresses se terminant par le domaine @gmail.com (y compris celles modifiées à l'étape précédente) :

    1. Supprimez tous les points de la partie nom d'utilisateur.

    2. Effectuez les substitutions suivantes dans la partie nom d'utilisateur :

      • Pour les lettres I ou i, ou le chiffre 1, remplacez-les par la lettre l.
      • Pour le chiffre 0, remplacez-le par la lettre o.
      • Pour le chiffre 2, remplacez-le par la lettre z.
      • Pour le chiffre 5, remplacez-le par la lettre s.

Par exemple, après normalisation :

  • an.email.user0125@googlemail.com devient anemalluserolzs@gmail.com
  • CAPSUSER0125@provider.net devient capsuser0125@provider.net

Pour les numéros de téléphone, ils doivent déjà être au format E.164 (c'est-à-dire précédés de +, 1 à 3 chiffres pour le code pays, 12 chiffres maximum pour le numéro d'abonné) avant d'être hachés avec SHA256.

Notez que les adresses e-mail ou les numéros de téléphone hachés avec SHA256 doivent comporter 32 octets et ne pas être une chaîne hexadécimale.

Appeler l'API avec des identifiants hachés

Swift

Importez le module FirebaseAnalytics et transmettez l'adresse e-mail ou le numéro de téléphone à l'API initiateOnDeviceConversionMeasurement().

import FirebaseAnalytics

// ...
// If you're using an email address....
Analytics.initiateOnDeviceConversionMeasurement(hashedEmailAddress: hashedEmailAddress)
// If you're using a phone number....
Analytics.initiateOnDeviceConversionMeasurement(hashedPhoneNumber: hashedPhoneNumber)

Objective-C

Importez le module FirebaseAnalytics et transmettez l'adresse e-mail à l'API initiateOnDeviceConversionMeasurementWithHashedEmailAddress: ou le numéro de téléphone à l'API initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:.

@import FirebaseAnalytics;

// ...
// If you're using an email address....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedEmailAddress:hashedEmailAddress];
// If you're using a phone number....
[FIRAnalytics initiateOnDeviceConversionMeasurementWithHashedPhoneNumber:hashedPhoneNumber];

Unity

Importez l'espace de noms Firebase.Analytics et transmettez l'adresse e-mail à l'API InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() ou le numéro de téléphone à l'API InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber() :

using Firebase.Analytics;

// ...
// If you're using an email address....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedEmailAddress(hashedEmailAddress);
// If you're using a phone number....
FirebaseAnalytics.InitiateOnDeviceConversionMeasurementWithHashedPhoneNumber(hashedPhoneNumber);

Vérifier l'intégration

Activez le mode de débogage. Après avoir appelé l'API de mesure de lancement, assurez-vous qu'un message semblable au message de journal suivant s'affiche dans la console de débogage Xcode :

[FirebaseAnalytics][I-ACS023225] Initiated on-device conversion measurement

Si vous avez activé le mode de débogage et inclus l'argument de lancement -DebugOnDeviceConversionMeasurement, l'appel de l'API initiateOnDeviceConversionMeasurement() simulera une correspondance.

[FirebaseAnalytics][I-ACS023229] On-device conversion measurement found a match




Étape 2 : Intégrer Google Analytics Étape 4 : Dépanner et résoudre les problèmes courants