Samouczek: pomiar konwersji w Google Ads

Krok 3. Rozpocznij pomiar konwersji na urządzeniu za pomocą Google Analytics


Wprowadzenie: pomiar konwersji z reklam na iOS

Krok 1: Wdróż logowanie

Krok 2. Zintegruj Google Analytics

Krok 3. Rozpocznij pomiar konwersji na urządzeniu za pomocą Google Analytics

Krok 4: Rozwiąż typowe problemy


Teraz, gdy możesz zbierać adresy e-mail i numery telefonów użytkowników, a Twoja aplikacja ma pakiet SDK Google Analytics dla Firebase, możesz zacząć mierzyć konwersje.

Wywoływanie interfejsu API

Wywołaj interfejs API pomiaru konwersji, aby przekazać adres e-mail lub numer telefonu użytkownika, który wyraził zgodę na przetwarzanie danych (zgodnie z opisem w kroku 1). Te dane są używane do pomiaru konwersji z reklam bez opuszczania urządzenia użytkownika przez jakiekolwiek informacje umożliwiające identyfikację.

Pomiar można rozpocząć na 2 sposoby:

Użyj adresu e-mail lub numeru telefonu

Swift

Zaimportuj moduł FirebaseAnalytics i przekaż adres e-mail lub numer telefonu do interfejsu 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

Zaimportuj moduł FirebaseAnalytics i przekaż adres e-mail do interfejsu API initiateOnDeviceConversionMeasurementWithEmailAddress: lub numer telefonu do interfejsu 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

Zaimportuj przestrzeń nazw Firebase.Analytics i przekaż adres e-mail do interfejsu API InitiateOnDeviceConversionMeasurementWithEmailAddress() lub numer telefonu do interfejsu 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");

Sprawdzone metody wywoływania interfejsu API

Aby zapewnić dokładny i ciągły pomiar konwersji na urządzeniu, wykonaj jedną z tych czynności:

Google Analytics dla Firebase w wersji 12.1.0 i nowszych zawiera ulepszenia pomiaru konwersji na urządzeniu. Aby te ulepszenia były stosowane do wszystkich użytkowników, w tym do tych, którzy zalogowali się przed zaktualizowaniem aplikacji, po aktualizacji aplikacji musisz ponownie wywołać interfejs API initiateOnDeviceConversionMeasurement.

W szczególności użytkownicy, którzy zalogowali się przed zaktualizowaniem aplikacji do pakietu SDK w wersji 12.1.0, nie są uwzględniani w zakresie pomiaru zaawansowanego, dopóki interfejs API initiateOnDeviceConversionMeasurement nie zostanie ponownie wywołany. Bez sprawdzania aktualizacji aplikacji zdarzy się to tylko wtedy, gdy użytkownicy wylogują się i zalogują ponownie.

Sprawdzoną metodą jest wywoływanie interfejsu API dla zalogowanych użytkowników co najmniej raz na wersję aplikacji. Możesz wdrożyć sprawdzanie przy uruchamianiu aplikacji, aby wywoływać interfejs API tylko wtedy, gdy wersja aplikacji zmieniła się od ostatniego wywołania.

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();
}

Wywołaj natychmiast po zalogowaniu

Zawsze wywołuj interfejs API initiateOnDeviceConversionMeasurement zaraz po tym, jak użytkownik zaloguje się lub zarejestruje swój adres e-mail albo numer telefonu.

Uwzględnienie czasu w przypadku nowych rejestracji

Jeśli kluczowe zdarzenie konwersji wystąpi natychmiast po zarejestrowaniu się użytkownika (i wywołaniu interfejsu API), rozważ wprowadzenie niewielkiego opóźnienia (np. 5 sekund) między wywołaniem interfejsu API a zarejestrowaniem kluczowego zdarzenia. Pomaga to zapewnić, że pomiar na urządzeniu zostanie w pełni zainicjowany przed zarejestrowaniem zdarzenia.

Użyj zaszyfrowanego adresu e-mail lub numeru telefonu

Interfejs API będzie akceptować adresy e-mail i numery telefonów zaszyfrowane za pomocą algorytmu SHA256. Możesz zachować kontrolę nad danymi użytkownika, wykonując haszowanie w kodzie przed wywołaniem pakietu SDK.

Aby używać zaszyfrowanych danych logowania, znormalizuj adresy i numery, zaszyfruj je za pomocą algorytmu SHA256, a następnie wywołaj interfejs API.

Normalizowanie adresów e-mail i numerów telefonów

W przypadku adresów e-mail interfejs API Google Analytics zakłada, że przed zastosowaniem algorytmu SHA256 przeprowadzana jest określona normalizacja, dlatego aby znormalizować dane, wykonaj te czynności:

  1. Zmień wszystkie litery w adresie e-mail na małe.

  2. Jeśli adres e-mail kończy się domeną @googlemail.com, zastąp ją domeną @gmail.com.

  3. W przypadku adresów kończących się domeną @gmail.com (w tym tych zmodyfikowanych w poprzednim kroku):

    1. Usuń wszystkie kropki z części adresu e-mail przed znakiem „@”.

    2. W części adresu e-mail przed znakiem „@” wprowadź te zmiany:

      • Zastąp litery I lub i albo cyfrę 1 literą l.
      • Zastąp cyfrę 0 literą o.
      • Zastąp cyfrę 2 literą z.
      • Zastąp cyfrę 5 literą s.

Na przykład po normalizacji:

  • an.email.user0125@googlemail.com zmieni się na anemalluserolzs@gmail.com.
  • CAPSUSER0125@provider.net zmieni się na capsuser0125@provider.net.

W przypadku numerów telefonów przed zaszyfrowaniem za pomocą algorytmu SHA256 numery muszą być w formacie E.164 (czyli muszą zaczynać się od znaku „+”, zawierać kod kraju (1–3 cyfry) i numer abonenta (maks. 12 cyfr) ).

Pamiętaj, że zaszyfrowany adres e-mail lub numer telefonu musi mieć długość 32 bajtów i nie może być ciągiem szesnastkowym.

Wywołaj interfejs API za pomocą zaszyfrowanych danych logowania

Swift

Zaimportuj moduł FirebaseAnalytics i przekaż adres e-mail lub numer telefonu do interfejsu 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

Zaimportuj moduł FirebaseAnalytics i przekaż adres e-mail do interfejsu API initiateOnDeviceConversionMeasurementWithHashedEmailAddress: lub numer telefonu do interfejsu 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

Zaimportuj przestrzeń nazw Firebase.Analytics i przekaż adres e-mail do interfejsu API InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() lub numer telefonu do interfejsu 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);

Sprawdź integrację

Włącz tryb debugowania. Po wywołaniu interfejsu API inicjowania pomiaru sprawdź, czy w konsoli debugowania Xcode pojawi się komunikat logu podobny do tego:

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

Jeśli włączysz tryb debugowania i dodasz argument uruchamiania -DebugOnDeviceConversionMeasurement, wywołanie interfejsu API initiateOnDeviceConversionMeasurement() spowoduje symulację dopasowania.

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




Krok 2. Zintegruj Google Analytics Krok 4. Rozwiąż typowe problemy