บทแนะนํา: วัด Conversion ของโฆษณา iOS

ขั้นตอนที่ 3: เริ่มการวัด Conversion ที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่โดยใช้ Google Analytics


บทนำ: วัด Conversion ของโฆษณา iOS

ขั้นตอนที่ 1: สร้างประสบการณ์การลงชื่อเข้าใช้

ขั้นตอนที่ 2: ผสานรวม Google Analytics

ขั้นตอนที่ 3: เริ่มการวัด Conversion ที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่โดยใช้ Google Analytics

ขั้นตอนที่ 4: แก้ปัญหาและจัดการปัญหาที่พบได้ทั่วไป


เมื่อคุณรวบรวมอีเมลและหมายเลขโทรศัพท์ของผู้ใช้ได้แล้ว และแอปของคุณ มี Google Analytics สำหรับ Firebase SDK คุณก็ใช้ข้อมูลทั้ง 2 อย่างนี้เพื่อเริ่ม วัด Conversion ได้

เรียกใช้ API

เรียกใช้ Conversion Measurement API ด้วยอีเมลหรือหมายเลขโทรศัพท์ที่ได้รับความยินยอมจากขั้นตอนที่ 1 ซึ่งใช้สำหรับการวัด Conversion ของโฆษณา โดยไม่อนุญาตให้ข้อมูลส่วนบุคคลที่ระบุตัวบุคคลนั้นได้ออกจากอุปกรณ์ของผู้ใช้

คุณเริ่มการวัดได้ 2 วิธีดังนี้

ใช้อีเมลหรือหมายเลขโทรศัพท์

Swift

นำเข้าโมดูล FirebaseAnalytics แล้วส่งอีเมลหรือหมายเลขโทรศัพท์ไปยัง 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

นำเข้าโมดูล FirebaseAnalytics แล้วส่งอีเมลไปยัง API initiateOnDeviceConversionMeasurementWithEmailAddress: หรือหมายเลขโทรศัพท์ไปยัง 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

นำเข้าเนมสเปซ Firebase.Analytics แล้วส่งอีเมลไปยัง API InitiateOnDeviceConversionMeasurementWithEmailAddress() หรือหมายเลขโทรศัพท์ไปยัง 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");

แนวทางปฏิบัติแนะนำสำหรับการเรียกใช้ API

หากต้องการให้การวัด Conversion ที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่แม่นยำและต่อเนื่อง ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้

Google Analytics สำหรับ Firebase SDK เวอร์ชัน 12.1.0 ขึ้นไปมีการปรับปรุง การวัด Conversion ที่เกิดขึ้นบนอุปกรณ์เคลื่อนที่ เพื่อให้การปรับปรุงเหล่านี้มีผลกับผู้ใช้ทุกคน รวมถึงผู้ใช้ที่ลงชื่อเข้าใช้ก่อนที่จะอัปเดตแอป คุณต้องเรียกใช้ API initiateOnDeviceConversionMeasurement อีกครั้งหลังจากอัปเดตแอป

โดยเฉพาะอย่างยิ่ง ผู้ใช้ที่ลงชื่อเข้าใช้ก่อนที่แอปจะอัปเดตเป็น SDK เวอร์ชัน 12.1.0 จะไม่อยู่ในขอบเขตของการวัดที่ปรับปรุงแล้วจนกว่าจะมีการเรียกใช้ API initiateOnDeviceConversionMeasurement อีกครั้งสำหรับผู้ใช้เหล่านั้น หากไม่มีการตรวจสอบการอัปเดตแอป การดำเนินการนี้จะเกิดขึ้นก็ต่อเมื่อผู้ใช้ออกจากระบบและลงชื่อเข้าใช้อีกครั้ง

แนวทางปฏิบัติแนะนำคือการเรียกใช้ API สำหรับผู้ใช้ที่ลงชื่อเข้าใช้อย่างน้อย 1 ครั้งต่อแอปเวอร์ชัน คุณสามารถใช้การตรวจสอบเมื่อเปิดแอปเพื่อเรียกใช้ API เฉพาะเมื่อเวอร์ชันของแอปมีการเปลี่ยนแปลงนับตั้งแต่การเรียกใช้ครั้งล่าสุด

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

เรียกใช้ทันทีหลังจากลงชื่อเข้าใช้

เรียกใช้ API initiateOnDeviceConversionMeasurement ทันทีหลังจากที่ผู้ใช้ลงชื่อเข้าใช้หรือลงทะเบียนอีเมลหรือหมายเลขโทรศัพท์เรียบร้อยแล้ว

ข้อควรพิจารณาเกี่ยวกับช่วงเวลาสำหรับการจดทะเบียนใหม่

หากเหตุการณ์ Conversion ที่สำคัญเกิดขึ้นทันทีหลังจากที่ผู้ใช้ลงทะเบียน (และคุณเรียกใช้ API) ให้พิจารณาใช้การหน่วงเวลาเล็กน้อย (เช่น 5 วินาที) ระหว่างการเรียก API กับการบันทึกเหตุการณ์สำคัญ ซึ่งจะช่วยให้การวัดในอุปกรณ์เริ่มต้นอย่างสมบูรณ์ก่อนที่จะมีการบันทึกเหตุการณ์

ใช้อีเมลหรือหมายเลขโทรศัพท์ที่แฮช

API จะยอมรับอีเมลและหมายเลขโทรศัพท์ที่แฮชด้วย SHA256 คุณสามารถควบคุมข้อมูลของผู้ใช้ได้โดยการแฮชในโค้ดก่อนที่จะเรียกใช้ SDK

หากต้องการใช้ข้อมูลเข้าสู่ระบบที่แฮช ให้แปลงอีเมลและหมายเลขโทรศัพท์เป็นรูปแบบมาตรฐาน แฮชด้วย SHA256 แล้วเรียกใช้ API

แปลงอีเมลและหมายเลขโทรศัพท์เป็นรูปแบบมาตรฐาน

สำหรับอีเมล , Google Analytics API จะถือว่ามีการแปลงเป็นรูปแบบมาตรฐานก่อนที่จะใช้ SHA256 ดังนั้นให้ทำตาม ขั้นตอนต่อไปนี้เพื่อแปลงข้อมูลเป็นรูปแบบมาตรฐาน

  1. แปลงอีเมลทั้งหมดเป็นตัวพิมพ์เล็ก

  2. หากอีเมลลงท้ายด้วยโดเมน @googlemail.com ให้แทนที่โดเมน @googlemail.com ด้วย @gmail.com

  3. สำหรับอีเมลที่ลงท้ายด้วยโดเมน @gmail.com (รวมถึงอีเมลที่แก้ไขในขั้นตอนก่อนหน้า) ให้ทำดังนี้

    1. นำจุดทั้งหมดออกจากส่วนชื่อผู้ใช้

    2. ทำการแทนที่ต่อไปนี้ในส่วนชื่อผู้ใช้

      • สำหรับตัวอักษร I หรือ i หรือตัวเลข 1 ให้แทนที่ด้วยตัวอักษร l
      • สำหรับตัวเลข 0 ให้แทนที่ด้วยตัวอักษร o
      • สำหรับตัวเลข 2 ให้แทนที่ด้วยตัวอักษร z
      • สำหรับตัวเลข 5 ให้แทนที่ด้วยตัวอักษร s

ตัวอย่างเช่น หลังจากแปลงเป็นรูปแบบมาตรฐานแล้ว

  • an.email.user0125@googlemail.com จะกลายเป็น anemalluserolzs@gmail.com
  • CAPSUSER0125@provider.net จะกลายเป็น capsuser0125@provider.net

สำหรับหมายเลขโทรศัพท์ หมายเลขต้องอยู่ในรูปแบบ E.164 อยู่แล้ว (เช่น ขึ้นต้นด้วย +, รหัสประเทศ 1-3 หลัก หมายเลขสมาชิกสูงสุด 12 หลัก) ก่อนที่จะแฮชด้วย SHA256

โปรดทราบว่าอีเมลหรือหมายเลขโทรศัพท์ที่แฮช SHA256 ต้องมีความยาว 32 ไบต์และไม่ใช่สตริงฐานสิบหก

เรียกใช้ API ด้วยข้อมูลเข้าสู่ระบบที่แฮช

Swift

นำเข้าโมดูล FirebaseAnalytics แล้วส่งอีเมลหรือหมายเลขโทรศัพท์ไปยัง 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

นำเข้าโมดูล FirebaseAnalytics แล้วส่งอีเมลไปยัง API initiateOnDeviceConversionMeasurementWithHashedEmailAddress: หรือหมายเลขโทรศัพท์ไปยัง 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

นำเข้าเนมสเปซ Firebase.Analytics แล้วส่งอีเมลไปยัง API InitiateOnDeviceConversionMeasurementWithHashedEmailAddress() หรือหมายเลขโทรศัพท์ไปยัง 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);

ยืนยันการผสานรวม

เปิดใช้โหมดแก้ไขข้อบกพร่อง หลังจากเรียกใช้ Measurement API การเริ่มการวัดแล้ว ให้ตรวจสอบว่าข้อความในบันทึกต่อไปนี้ปรากฏในคอนโซลดีบักของ Xcode

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

หากคุณเปิดใช้โหมดแก้ไขข้อบกพร่องและใส่อาร์กิวเมนต์การเปิดใช้ -DebugOnDeviceConversionMeasurement การเรียกใช้ API initiateOnDeviceConversionMeasurement() จะจำลองการจับคู่

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




ขั้นตอนที่ 2: ผสานรวม Google Analytics ขั้นตอนที่ 4: แก้ปัญหาและจัดการปัญหาที่พบได้ทั่วไป