顧客ユーザーID (CUID) について

概要:顧客ユーザーID(CUID)を使用することで、社内データとAppsFlyerの計測データを相互参照することができます。

CUIDの実装

顧客ユーザーID(CUID)項目は、アプリやWebサイトの所有者によって設定されたユニークユーザー識別子です。

  • CUIDは、AppsFlyerのAPIまたはSDKを使用して広告主様からAppsFlyerへ送信されます。
  • AppsFlyerは、それに応じてローデータレポートのCUID項目に値を入力します。
  • CUIDを使用することで、CUIDをキーとしてAppsFlyerの計測データとその他のデータを相互参照できます。
  • 例:ユーザーが同じCUID ("1234567") の2つのデバイスを持っています。デバイス上でイベントを実行するたびに、CUIDと一緒にイベントが記録されます。これにより、広告主は両方のデバイスのローデータをユーザーの全体像として集計することができます。
  • CUIDは、AppsFlyerのオーディエンス機能とピープルベースドアトリビューションに使用され、精度とターゲティングの向上に役立ちます。

CUIDのデザインとプライバシー

CUIDが設定されるまでSDKの初期化を遅らせる

CUIDが設定されるまで、SDK初期化を遅らせることができます。ビジネスロジックに加えて、以下の点を考慮して実行してください。

  • メリット
    • 計測データには常にCUIDが紐づきます。
    • CUIDを使用して、計測データと自社システム内の他のデータを相互参照できます。
    • これによりAppsFlyerから取得したデータをより高度に使用、および処理できるようになります。
  • デメリット
    • 購入やサブスクリプションなどのユーザーが実行するアクションやイベントは、CUIDが設定されるまでAppsFlyerには記録されません。これは数値の乖離の原因となり、また不正のリスクが高まる可能性があります。

Android SDKディベロッパー向けの手順

カスタマーユーザーIDを設定するには:

public void setCustomerUserId(String id);

使用例:

AppsFlyerLib.getInstance().setCustomerUserId("myId");

設定された後に計測されたイベントにしかカスタマーユーザーIDを紐付けられないので、AppsFlyerでは、 アプリ利用の一連の流れの中で、できる限り早いタイミングでカスタマーユーザーIDを設定することをお勧めしています

  • startを呼び出す前に setCustomerUserId が呼び出された場合には、インストールおよびイベントのローデータレポートにカスタマーユーザーIDが表示されます。
  • trackAppLaunchよりも後に設定された場合には、カスタマーユーザーIDはその設定後に計測されたイベントへのみ紐付けられます。
カスタマーユーザーIDの取得

最初の起動後にカスタマーユーザーIDの値を再度設定したり、IDを取得する通信をあなたのサーバーに必要以上にしないように、以下のコードを使用してIDの値が空かどうかを確認できます。 

AppsFlyerProperties.getInstance().getString(AppsFlyerProperties.APP_USER_ID)
customerUserIDのためのSDK初期化の遅延

customerUserIDが設定されるまで、SDKの初期化を遅らせることも可能です。

customerUserIDの呼び出しのためにSDKの初期化を遅らせる必要があることを示すには:

AppsFlyerLib.getInstance().waitForCustomerUserId(true);

を呼び出します。SDK初期化の残りの部分は変更しません。

customerUserIDが指定されたら、

AppsFlyerLib.getInstance().setCustomerIdAndLogSession("customer_id",this);

関連するCustomer User IDをSDKに提供してSDKでの計測を開始します。

コードは次のようになります。

Java Kotlin
public class AFApplication extends Application {
  private static final String AF_DEV_KEY = "qrdZGj123456789";
  @Override
  public void onCreate() {
    super.onCreate();
AppsFlyerConversionListener conversionDataListener = 
    new AppsFlyerConversionListener() {
      ...
    };
    AppsFlyerLib.getInstance().waitForCustomerUserId(true);
//WARNING!Removing above line doesn't cancel its effect.
// Replace with this to stop waiting for CUID:
    // AppsFlyerLib.getInstance().waitForCustomerUserId(false);
AppsFlyerLib.getInstance().init(AF_DEV_KEY,getConversionListener(), getApplicationContext());
    AppsFlyerLib.getInstance().start(this);
// Do your magic to get the customerUserID
    // ...
    // any AppsFlyer SDK code invoked here will be discarded
   //Call the following API once the customerUserID is available:
 AppsFlyerLib.getInstance().setCustomerIdAndLogSession("customer_id",this);
  }
}

iOS SDKディベロッパー向けの手順

カスタマーユーザーIDを設定するには:

Objective-C Swift
[AppsFlyerLib shared].customerUserID= @"my user id";

iOSでは、アプリを起動するたびにカスタマーユーザーIDを設定する必要があります。設定された後に計測されたイベントにしかカスタマーユーザーIDを紐付けられないので、AppsFlyerでは、 アプリ利用の一連の流れの中で、できる限り早いタイミングでカスタマーユーザーIDを設定することをお勧めしています

  • startを呼び出す前に setCustomerUserId が呼び出された場合には、インストールおよびイベントのローデータレポートにカスタマーユーザーIDが表示されます。
  • trackAppLaunchよりも後に設定された場合には、カスタマーユーザーIDはその設定後に計測されたイベントへのみ紐付けられます。
カスタマーユーザーIDの取得

最初の起動後にカスタマーユーザーIDの値を再度設定したり、IDを取得する通信をあなたのサーバーに必要以上にしないように、以下のコードを使用してIDの値が空かどうかを確認できます。 

Objective-C Swift
NSString *customerUserID = [AppsFlyerLib shared].customerUserID;
customerUserIDのためのSDK初期化の遅延

Customer User IDが設定されるまで、SDKの初期化を遅らせることも可能です。これは、インストールデータとアプリ内イベントデータの両方にCustomer User IDを含めたい場合に有効です。

次のコードを実装してください。

Objective-C Swift
- (void)applicationDidBecomeActive:(UIApplication *)application {
    NSString *customUserId = [[NSUserDefaults standardUserDefaults] stringForKey:@"customerUserId"]; // Your custom logic of retrieving CUID
    if (customUserId != nil && ![customUserId  isEqual: @""]) {
        [AppsFlyerLib shared].customerUserID = customUserId; // Set CUID in AppsFlyer SDK for this session
        [[AppsFlyerLib shared] start]; // Start
    }
}

ピープルベースドアトリビューション

AppsFlyerのピープルベースドアトリビューション(PBA)は、Webとモバイルキャンペーンの成果に関する幅広い視点を提供するほか、Webユーザーをモバイルユーザーに転換させるため(またはその逆)の施策を分析できるようになります。

クロスプラットフォームでのインサイトと分析を可能にするためには、モバイルとWeb環境の両方で同じCUIDを設定する必要があります。

この記事は役に立ちましたか?