このページでは

For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.

統合とソースのトラブルシューティング

このページでは、Amplitudeデータソースとインテグレーションに関するトラブルシューティングについて説明しています。たとえば、Segmentからのイベントとプロパティの欠落、セッションの誤ったトラッキング、iOS 14のIDFAの変更、モバイルアトリビューションイベントの欠落、WixやSquarespaceなどのサードパーティ製サイトビルダーでAmplitudeを計測する方法などです。

Segment-Amplitude連携

欠落しているイベント

Amplitudeにデータが表示されないのはなぜですか?

イベントが Segment 内にない場合、そのイベントは Amplitude 内にありません。 イベント欠損とみなす前に、Segmentからのリクエストが正常にレスポンスを受け取ったことを確認してください。

イベントがSegmentに属し、正常なレスポンスを得たことを確認したら、次の3つのことを確認してください。

  1. Amplitudeは送信先として有効になっていますか?

  2. 正しいAPIキーが入力されていますか?

    Amplitude UIのプロジェクト設定にあるAmplitude APIキーの値が、Segmentの値と一致することを確認してください。

  3. 構文は正しいですか?

    計測エラーは必ずしも明らかではありません。 コードに構文エラーがないか確認してください(ブラウザの「コンソール」タブが役立ちます)。

    これらの要件を確認したら、track を呼び出してデータをAmplitudeに送信してください。データは、最初のイベントを追跡した後に表示されます。

イベントタイプの計測の制限を超えていませんか?

この制限を超えた場合、Amplitudeはそれ以降に送信されたデータを一切取り込みません。 より多くのイベント タイプを取り込むには、イベントを削除して制限値以下に戻します。

イベントはAmplitudeから削除またはブロックされていますか?

削除済みイベントやブロック済みイベントを確認してください。 イベント タイプを削除すると、同じ名前を持つイベントの今後のインスタンスもすべてブロックされます。 Amplitudeで削除またはブロックされたイベント名にデータを送信した場合、データは反映されません。

Segment のデバッガーにエラーはありますか?

「デバッガ」タブにエラーがないか確認してください。 欠落しているイベントがデバッガに表示されない場合は、そのイベントタイプのテストイベントを送信してください。 イベントがSegmentに到達しない場合、Amplitudeには表示されません。

イベントはSegment内に存在しますか?

トラックコールの場合、特定のイベントのみを特定のインテグレーションに送信するように選択できます。 イベントが送信されていることと、Amplitudeが有効になっていることを確認してください。

また、特定の統合を計装コードで直接有効または無効にすることもできます。 コードでAmplitudeが無効になっていないことを確認してください。

ページコールとスクリーンコールの場合、個々のページ名をすべて確認することはできませんが、アクティビティはSegmentがページコールを受信しているかどうかを示します。

リクエストの生JSONを確認して、Amplitude連携がオフになっているかどうかを確認することもできます。

json
"integrations": {
    "Amplitude": false
}

プロパティがありません

イベントプロパティとユーザープロパティの違いは何ですか?

ユーザープロパティとイベントに関する記事では、この2種類のプロパティの違いについて説明しています。

ユーザープロパティが表示されないか、[Amplitude]ユーザープロパティのみが表示されるのはなぜですか?

Segmentを通じてユーザープロパティを送信するには、identify を呼び出し、ユーザープロパティをtraits フィールドに含めます。identify の呼び出しの詳細については、Segmentのドキュメントを参照してください。

イベントプロパティタイプの計測制限を超えていませんか?

制限を超えた場合、Amplitudeにプロパティが見つからない可能性があります。 Amplitudeは、制限を超えた後に送信されたデータを一切取り込みません。 プロパティを削除して制限を下回り、新しいプロパティを取り込みます。

そのプロパティはAmplitudeから削除またはブロックされていますか?

削除済みまたはブロック済みのプロパティを確認してください。 プロパティを削除すると、同じ名前を持つプロパティの今後のインスタンスもすべてブロックされます。 削除されたりブロックされたプロパティ名を使用してデータをAmplitudeに送信した場合、データは通過しません。

このプロパティは未加工のペイロードでSegmentに届きましたか?

プロパティが Segment 内にない場合、そのプロパティは Amplitude 内にありません。 Segment のデバッガーを確認して、プロパティが Segment に最初に表示されたことを確認してください。

このプロパティはSegmentのスキーマ内に存在しますか?

追跡されているプロパティを確認し、それらがSegmentに存在することを確認してください。

構文コードのエラーやその他の計装エラーを発見しましたか?

計測エラーは必ずしも明らかではありません。 コードに構文エラーがないか確認してください(ブラウザの「コンソール」タブが役立ちます)。

データのフォーマット方法については、Segment の仕様を参照してください。

Amplitudeの文字数制限は1024文字です。プロパティ値が長すぎると、そのプロパティはAmplitudeに表示されません。

Segmentのデータに含まれる位置情報(都市または国)がAmplitudeのデータに含まれる位置情報と異なるのはなぜですか?

Amplitudeは、利用可能な場合、ユーザーのIPアドレスからユーザーの位置を特定しようとします。 この場所は、Segmentに記録された位置情報とは異なる場合があります。

誤って追跡されたセッション

セッションの定義は何ですか。

セッションとは、ユーザーがアプリケーションをフォアグラウンドで開いている状態にある期間のことです。 セッション トラッキングが使用可能な場合、同じセッション内で記録されたイベントは同じセッション ID を共有します。 アプリケーションがバックグラウンドにあったり、5分以上閉じられたりした後にフォアグラウンドに入ったときに、新しいセッションが開始されます。

私のイベントのすべてで値がsessionId-1であるのはなぜですか?

クラウドモードでAmplitude Classic連携を使用する場合、Segmentはデフォルトでセッション追跡を提供しないため、AmplitudeではセッションIDが-1と表示されます。セグメントにはセッションという概念はありません。 サーバー側の呼び出しのセッションIDをSegmentからAmplitudeに渡す必要があります。 詳細については、SegmentのAmplitude連携ドキュメントを参照してください。

Segmentのクライアント側にバンドルされている連携を使用する場合、この連携はAmplitudeのネイティブSDKを使用し、ユーザーのためにセッションIDを追跡します。Segmentには以下のオプションがあります。

Amplitudeダッシュボードにセッション時間の計算がないのはなぜですか?

セッションIDが-1の場合(前の回答を参照)、Amplitudeはセッション時間を計算できません。

Segment の SDK が機能 X をサポートしていない場合はどうなりますか? [デバイスモード]

Segment SDKには、Amplitude SDKが提供するすべてのAPIが含まれていない場合があります。AmplitudeのSDKを直接呼び出すことで、引き続き機能にアクセスできます。

まだ質問がありますか?

以下の詳細を記載したサポートチケットを送信してください。

  • どのような接続タイプを使用していますか?(クラウドモードまたはデバイスモード)。
  • 有効な送信先フィルタはありますか?
  • Event Delivery タブにエラーは表示されていますか?
  • Amplitudeの送信先に正しいAPIキーを使用していることを確認してください。

また、Amplitudeにあるはずなのに欠落しているイベントの生データを共有してください。Amplitudeは、使用されるエンドポイント、ヘッダー、ボディなど、イベントの完全なペイロードを必要とします。

iOS 14の変更点

WWDC 2020でAppleは、iOS 14ではユーザーが追跡をオプトインする必要があると発表しました。 IDFAは、明示的にオプトインしたユーザーにのみ存在するため、オプトインしたユーザーの割合は低い可能性があります。

この記事では、AppleのiOS 14のIDFAの変更点についてよく寄せられる質問について説明します。

AmplitudeはiOS上のデバイス識別子としてIDFA(広告主識別子)を受け入れますか?

デフォルトでは、AmplitudeのiOS SDKはデバイスIDにIDFV(ベンダー識別子)を使用します。 この値を変更して、任意の値をデバイス識別子として使用できます。 SDKにはデバイスIDとしてIDFAを使用するオプションが含まれていますが、このオプションはユーザーがアプリケーションにIDFAを使用することを許可した場合にのみ機能します。

AppleのIDFAの変更はユーザー追跡にどのような影響を及ぼしますか?

ログインしているユーザーには影響はありません。 デバイスIDが変更された場合でも、Amplitudeが共通のユーザーIDを受け取った場合、イベントは引き続きデバイスからマージされます。 匿名ユーザーには影響を与える可能性があります。

匿名ユーザーの場合、ほとんどの場合変更はありません。これは、ほとんどのAmplitudeユーザーがデバイスIDとしてIDFAを設定していないためです。 IDFAをデバイスIDとして設定しているお客様の場合、AmplitudeはSDKの初期化時にデバイスIDを保存し、アプリケーションがデバイスにインストールされている限り、SDKはAmplitudeに同じIDを送信し続けます。

ユーザーがデバイスIDにIDFAを使用するアプリケーションを削除して再インストールした場合、SDKは以前のデバイスIDを保持しません。その代わり、ユーザーがアプリケーションにIDFAを使用するための権限を付与していない限り、SDKは新しいランダムなデバイスIDを生成します。

すべての新規アプリケーションインストールについて、ユーザーがオプトインし、アプリケーションがIDFAの使用を選択した場合、SDKはIDFAを受け入れます。

Amplitudeはアトリビューションイベントに対してIDFAを必要としますか?

いいえ。AmplitudeのアトリビューションAPIはIDFAとIDFVの両方を受け入れ、それらのIDをAmplitudeが後で受け取るユーザーイベントと照合しようとします。 場合によっては、IDFVだけでマッチングを行うのに十分ですが、Amplitudeの顧客のアトリビューションプロバイダーの中にはIDFAのみを送信しているものもあります。 これらの顧客にとって、Amplitudeはユーザーが参照元とインストール済みの両方のアプリケーションを明示的にオプトインしていない限り、アトリビューションイベントと一致させることができなくなります。

一部のアトリビューションベンダーは、個々のアトリビューションイベントの送信を停止する可能性があります。 ベンダーが集計データをAmplitudeに送信することはまずありません(プラットフォームの性質上)。ただし、顧客やアトリビューションベンダーがそのデータをセグメント化してユーザープロパティを設定するために使用できる場合を除きます。

これはアウトバウンド統合にどのような影響を及ぼしますか?

アウトバウンド連携にデータを送信する場合、IDFAを使用してAmplitudeと連携の間でデバイスを照合すると、一致率が低下します。Amplitudeは代わりにIDFVまたは別の共通識別子に切り替えることを推奨しています。

不足しているモバイルアトリビューションイベント

モバイルアトリビューションパートナーは、IDFA、IDFV、ADIDなどの広告IDを使用してイベントを識別します。Amplitudeは、user_id、device_idおよびamplitude_idの組み合わせに基づいてユーザーを識別します。

AmplitudeのアトリビューションAPIはこれらの違いを調整し、アトリビューションイベントをAmplitudeの既存ユーザーにマップします。 一部のモバイルアトリビューションパートナー(Appsflyer、Adjust、Branch、Singular)はこのAPIを使用して、広告IDを識別子とした非カスタムの標準データを送信しています。

Amplitudeは、マップされていないアトリビューションイベントを72時間保存します。 この間、AmplitudeはAmplitudeプロジェクト内の既存ユーザーについて一致するIDFA、IDFV、またはADIDを探します。 一致するものが存在する場合、Amplitudeはアトリビューションイベントをそのユーザーにルーティングします。 一致するものが存在しない場合、Amplitudeは72時間後にアトリビューションイベントを廃棄します。

このプロセスをサポートするために、広告IDを有効にしたAmplitudeを計測します。

モバイルアトリビューションイベントが欠落する可能性がある理由

いくつかの原因をすばやく解決できます:

  • アトリビューションイベントがAmplitudeに正常に送信されませんでした。 イベントを送信したときに、アトリビューション パートナーが成功レスポンス(たとえば、200)を受信することを確認します。
  • プロジェクトはインストルメンテーションの制限に達しました。イベントタイプまたはプロパティを削除して、Amplitude アナリティクスが新しいイベントタイプとプロパティを取り込むことを許可してください。
  • Amplitudeプロジェクトでイベントタイプをブロックまたは削除しました。 この問題を解決するには、Amplitudeデータ経由でイベントタイプまたはプロパティを復元してください。

その他の原因については、さらなる調査が必要です:

  • Amplitudeには、一致するIDFA、IDFV、またはADIDを持つ既存のユーザーがいません。
  • Amplitudeは72時間以内にマッピングを完了しませんでした。

トラブルシューティング:Amplitudeに一致するIDFA、IDFV、またはADIDを持つ既存のユーザーがいません

これが、Amplitude アナリティクスがモバイルアトリビューションイベントを取り込まない主な理由です。 モバイルアトリビューションイベントを送信するには、まずAmplitudeを計測する必要があります。

広告IDを追跡しているかどうかを判断する

広告IDは、IDFA、IDFV、またはADIDです。Amplitudeイベントで広告IDを追跡する場合、Amplitude Analyticsはそれぞれのプロパティフィールドで広告IDの値をキャプチャします。 セキュリティ上と個人情報を保護するため、広告IDは使用可能なプロパティとして表示されません。また、Amplitudeはキャプチャ後にお客様の生データから広告IDを削除します(広告IDをカスタムプロパティとして計測する場合を除きます)。

Amplitudeは、広告IDのハッシュ化されたバージョンをamplitude_attribution_idsというフィールドに保存します。このフィールドを使用して、広告IDを計測しているかどうかを判断します。値が null の場合、Amplitude はこのユーザーの広告 ID を収集しませんでした。

null値は一般的に、広告IDを収集するためにAmplitude アナリティクスを実装していないか、エンドユーザーが広告IDの追跡をオプトアウトしていることを意味します。

ユーザーのオプトアウトを尊重する必要があります。 広告IDを適切に追跡しており、その値がユーザーのオプトアウトによるものであることを確認したい場合は、Amplitude サポートまでお問い合わせくださいamplitude_attribution_ids = null。

ソリューション:広告IDの追跡

JavaScript を使用している場合(この場合広告 ID を自動的に追跡することはできません)、HTTP API 経由で広告 ID を含む Amplitude イベントを送信してください。

トラブルシューティング: マッピングが 72 時間以内に実行されなかった

Amplitudeはアトリビューションイベントを72時間保持します。 この時間内にAmplitudeが一致しなかった場合、Amplitudeはイベントをドロップします。

たとえば、ユーザー A は 12 月 1 日にゲーム アプリをダウンロードしましたが、12 月 7 日までそのアプリを開いていません。

  • モバイルアトリビューションパートナーは、12月1日にユーザーAのインストールイベントをリストアップし、そのイベントを12月1日にAmplitudeに送信します。
  • ユーザー A は、12 月 7 日にアプリを開くまで、Amplitude に最初のイベントを記録しません。Amplitude は 12 月 7 日にユーザー A を新規ユーザーとみなします。

ユーザー A がアトリビューションイベントから72時間以内にAmplitudeに存在しなかったため、Amplitudeはユーザー A のInstallイベントを破棄します。ユーザーAはInstallイベント発生から7日後にのみAmplitudeに存在していましたが、これは72時間の保持期間を超えています。

アトリビューションイベントが早すぎたかどうかの判断

AmplitudeのiOS SDKはデフォルトでdevice_idIDFVをキャプチャします。 iOS SDK のデフォルト設定を使用している場合は、次の手順を使用してトラブルシューティングを行います。

  1. の値があるにもかかわらず、InstallイベントがないAmplitudeのiOS SDKユーザーの特定amplitude_attribution_ids。
  2. そのユーザーのdevice_id(IDFV)をコピーします。
  3. モバイルアトリビューションプロバイダーで、IDFV のInstallイベントを探してください。
  4. Installイベントの日付を確認してください。
  5. その日付とAmplitudeの新規ユーザーの日付を比較してください。

モバイルアトリビューションプロバイダーは、ユーザーがAmplitudeに存在する72時間以上前にInstallイベントを送信した可能性があります。

同様のプロセスに従って、ユーザーが既にAmplitudeに存在しているかどうかを確認することもできます:

  1. モバイルアトリビューションプロバイダーからのiOSインストールイベントのうち、Amplitudeにまだ表示されていないものを特定します。
  2. そのペイロードのIDFVを取得します。
  3. ユーザー検索機能でIDFVをデバイスIDとして入力します。

IDFVはおそらくAmplitude アナリティクスのプロファイルに関連付けられていないため、Amplitudeがまだユーザーを確認していないことを意味します。

解決策: 実際のユーザーアクティビティの前にユーザーを作成する

エンドユーザーは、Amplitudeがユーザーの最初のイベントを受信した時点でAmplitude内に存在します。 エンドユーザーのアクションがプロファイル作成をトリガーするのを待たない場合は、次のいずれかの方法でプロファイルを作成してください。

  • HTTP APIを介して、広告IDとdevice_id、またはuser_idを使用したプレースホルダイベントを送信します。
  • Identity API を介して、広告ID および device_id または user_id を使用してプロファイルを作成します。

プロファイルの作成は、広告 ID を自分で取得できる場合にのみ可能です。 実際のユーザーアクティビティを適切なプロファイルと結びつけられるよう、device_id または user_id を正しく維持してください。

サードパーティ製サイトビルダーに計測機能を実装する

ここで説明するサードパーティ製プラットフォームが変更またはアップグレードされるため、これらの手順は古くなってしまう可能性があります。 Amplitudeのサポートチームは、この記事に記載されている手順とプロセスのみをサポートしています。ここに記載されていないものについては推奨事項を提供することはできません。

サードパーティのウェブサイトビルダーでAmplitudeをインスツルメントするにはどうすればよいですか?

WixやSquarespaceなどのサードパーティ製ウェブサイトビルダーでサイトを運営している場合、ほとんどのビルダーには使用できる基礎となるコードベースがあります。AmplitudeのJavaScript SDKをそのスペースに追加してください。まるでネイティブに構築されたウェブサイトにSDKを追加しているかのようにです。 JavaScript SDK のスニペットをヘッダーに追加し、残りの JavaScript SDK コードを本文に追加します。

ヘッダーや基礎となるソースコードにアクセスできない場合は、Webhook を使用して トリガー や 自動化 を HTTP ターゲット と組み合わせて、Amplitude のサーバー側エンドポイントである HTTP v2 に送信できます。

WixでAmplitudeを計測するにはどうすればよいですか?

Wixにはトラッキングツールとアナリティクス機能があり、これを使用してAmplitudeのJavaScript SDKスニペットとコードをサイトに埋め込むことができます。

これを行うには、次の手順に従ってください。

  1. サイトのダッシュボードで設定に移動します。
  2. 詳細設定の下にあるトラッキング & アナリティクスタブをクリックします。
  3. + 新しいツールをクリックし、[カスタム] を選択します。
  4. カスタムコードを設定します:
    1. カスタムコードを入力します。
    2. 関連するドメインを選択します。 このオプションは、複数のドメインがある場合にのみ表示されます。
    3. カスタムコードの名前を入力します。
    4. ページにコードを追加する:コードを追加するページを選択します:
      • すべてのページ:ドロップダウンをクリックし、コードを一度読み込むか、新しいページごとにコードを読み込むかを選択します。
      • 特定のページを選択する:関連するページの名前を入力し始めます。次に、該当するページの横にあるチェックボックスをクリックします。
    5. コードを配置する場所:サイトのコード内でコードスニペットを配置する場所を選択します。
  5. 適用をクリックします。

一部のお客様は、Wixではヘッダースクリプトを追加できますが、そこから関数を呼び出すことはできないと報告しています。回避策の1つは、必要なスクリプトをPublicフォルダに配置することです。

Wixに関するさらに詳しい情報

SquarespaceでAmplitudeを計測するにはどうすればよいですか?

Squarespaceのコードインジェクションとコードブロック機能を使用すると、AmplitudeのJS SDKスニペットとコードをサイトに埋め込むことができます。

これらの機能はプレミアム機能である可能性があり、BusinessプランとCommerceプランでのみ利用できます。

コードインジェクション

コードインジェクションを使用して、AmplitudeのJavaScript SDKインストールスニペットや、注文確認ページなどサイトの特定の部分を強化するその他のスクリプトを追加できます。

コードインジェクションフィールドに JavaScript を追加するには、コードを<script></script>タグで囲みます。サイト全体とページごとのコードインジェクションオプションの両方を使用できます。 ページごとのコードインジェクションオプションについては、Squarespaceのコードインジェクションに関する記事を参照してください。コードインジェクションにコードを追加した場合、Squarespaceはサイトの編集中にコードを無効にするよう求めることがあります。

コードインジェクションを使用してJavaScript SDKインストールスニペットを追加するには:

  1. [コードインジェクション]を開きます。ホームメニューで、「*設定」>「詳細設定」>「コードインジェクション」*に移動します。
  2. ヘッダー、フッター、ロックページ、または注文確認ページの適切なコードインジェクションフィールドに JavaScript SDK コードを追加します。
    • ヘッダー: ここに追加されたコードは、サイト内のすべてのページの<head>タグに挿入されます。Amplitude JavaScript SDKのインストールスニペットはここに含まれています。
    • その他の3つのオプションの詳細については、Squarespaceのコードインジェクションに関する記事を参照してください。
  3. コードを追加したら、「保存」をクリックします。

コードブロック

コードブロックを使用して、logEvent、ユーザープロパティ、および類似の呼び出しを設定します。JavaScript をコードブロックフィールドに追加するには、コードを<script></script>タグで囲みます。

コードブロックを追加するには、次の手順に従ってください。

  1. ページまたは投稿を編集し、挿入ポイントをクリックしてから、メニューから「コード」を選択します。 ヘルプについては、「ブロックを使用してコンテンツを追加する」を参照してください。
  2. テキストフィールドにコードを追加します。 イベントとプロパティの呼び出しについては、ブラウザSDK 2のドキュメントを参照してください。
  3. コードブロックを使用してコードスニペットを表示している場合は、「ソースを表示」をチェックしてください。
  4. [Apply]をクリックして変更を保存します。

これは役に立ちましたか?