このページでは

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.

マーケティング分析からブラウザSDK 2.0への移行

Amplitude Browser SDK 2.0(@amplitude/analytics-browser)は、デフォルトのイベントトラッキング、改善されたマーケティングアトリビューショントラッキング、簡素化されたインターフェイス、軽量なパッケージを特徴としています。

Browser SDK 2.0はAmplitude Session Replayをサポートしています。

用語

  • @amplitude/marketing-analytics-browser@1:Marketing Analytics Browser SDK。
  • @amplitude/analytics-browser@2:Browser SDK 2.0。

依存関係を更新する

スニペットをインストールするには、プロジェクトのスニペットローダーを更新してください。

Nodeプロジェクトの場合、package.jsonで依存関係リストを更新してください。

json
{
  "dependencies": {
     "@amplitude/marketing-analytics-browser": "^1",
     "@amplitude/analytics-browser": "^2",
  }
}

デフォルトのイベントトラッキング

Browser SDK 2.0以降、Amplitudeはデフォルトでトラッキングを有効にしています。デフォルトのトラッキングは、Amplitudeがユーザーに代わって実行する暗黙のトラッキングであり、ページビュー、セッション、ファイルダウンロード、フォームインタラクション、マーケティングアトリビューションが含まれます。

デフォルトのトラッキングをオプトアウトするには、options.defaultTrackingをfalseに設定します。

ts
amplitude.init(API_KEY, undefined, {
  defaultTracking: false,
});

また、Amplitudeがトラッキングするイベントを選択することもできます。 たとえば、マーケティングアトリビューションとページビューに対してのみデフォルトのトラッキングを有効にするには、以下のコードを使用します。

ts
amplitude.init(API_KEY, undefined, {
  defaultTracking: {
    attribution: true,
    pageViews: true,
    sessions: false,
    fileDownload: false,
    formInteractions: false,
  },
});

マーケティングアトリビューション追跡

Browser SDK 2.0以降、AmplitudeはBrowser SDKとマーケティング分析SDKを統合し、プロダクトとマーケティング分析の両方のユースケースに対応する単一のソリューションを提供します。

マーケティングアトリビューショントラッキングでは、リファラーと同じルートドメインのすべてのサブドメインが除外されます。追加設定を行わない場合、Amplitudeはあるサブドメインから別のサブドメインへのトラフィック(例:analytics.amplitude.comからexperiment.amplitude.com)を追跡しません。

デフォルトでは、マーケティング分析Browser SDKは他のサブドメインをリファラとして追跡します。この動作を維持するには、次のコードを参照してください。

js
amplitude.init(API_KEY, undefined, {
  defaultTracking: {
    attribution: {
      excludeReferrers: [location.hostname]
    },
  },
});

options.attribution を options.defaultTracking.attribution に移動

ブラウザSDK 2.0は、アトリビューションオプションを他のデフォルトのトラッキングオプションと統合しています。

js
amplitude.init(API_KEY, undefined, {
  attribution: {
    excludeReferrers: [location.hostname]
  defaultTracking: {
    attribution: {
      excludeReferrers: [location.hostname]
    },
  },
});

マーケティングアトリビューショントラッキングを無効にする

Browser SDK 2.0は、マーケティングアトリビューショントラッキングをオプトアウトするための、より簡素で一貫性のあるインターフェースを提供します。

js
amplitude.init(API_KEY, undefined, {
attribution: {
    disabled: true
  defaultTracking: {
    attribution: false,
  },
});

ページビューの追跡

ブラウザSDK 2.0では、以下のページビュー追跡オプションが変更されています。

options.pageViewTracking を options.defaultTracking.pageViews に移動

js
  amplitude.init(API_KEY, undefined, {
   pageViewTracking: {
     trackOn: 'attribution',
     trackHistoryChanges: 'pathOnly',
     eventType: 'Page View',
   defaultTracking: {
     pageViews: {
       trackOn: 'attribution',
       trackHistoryChanges: 'pathOnly',
       eventType:'Page View',
   }
    },
  });

ページビュートラッキングを無効にする

Browser SDK 2.0は、ページビュー追跡をオプトアウトするための、より簡素化されたインターフェースを提供します。

js
  amplitude.init(API_KEY, undefined, {
   pageViewTracking: false,
   defaultTracking: {
     pageViews: false,
    },
  });

ページビュートラッキングの更新

  • ページビューイベントのタイプがPage Viewから[Amplitude] Page Viewedに変更されます。
  • イベントプロパティ名も更新されます。詳細については、「ページビューの追跡」を参照してください。

クッキーのオプション

Browser SDK 2.0以降、Amplitudeはクッキーの使用を管理するオプションを簡素化しています。デフォルトでは、AmplitudeはユーザーIDをブラウザのクッキーに保存します。

代替ストレージAPIを使用する

ts
amplitude.init(API_KEY, undefined, {
  disableCookies: true,                  
  identityStorage: 'localStorage',       
});

ユーザーIDの永続性を無効にする

ts
import { MemoryStorage } from '@amplitude/analytics-core';
amplitude.init(API_KEY, undefined, {
  cookieStorageProvider: new MemoryStorage(),           
  identityStorage: 'none',                              
});

クッキーオプションを設定する

ブラウザSDK 2.0では、options.cookieOptionsより検出しやすいインターフェイスを実現するために、クッキー管理オプションがにネストされています。

ts
amplitude.init(API_KEY, undefined, {
  cookieExpiration: 365,
  cookieSameSite: 'Lax',
  cookieSecure: false,
  cookieUpgrade: true,
  domain: '',
  cookieOptions: {    
    expiration: 365,
    sameSite: 'Lax',
    secure: false,
    upgrade: true,
    domain: '',
  },
});

ユーザーエージェントのクライアント側解析を廃止

Browser SDK 2.0以降、Amplitudeはユーザープロパティのユーザーエージェント拡張をクライアント側からサーバー側に移行しました。 拡張されたユーザープロパティには、os_name、os_version、device_model、およびdevice_manufacturerが含まれます。新しい拡張戦略により、より正確な結果が得られますが、値はBrowser SDK 1.0とはわずかに異なり、これらのプロパティをクエリする既存のアナリティクスチャートに影響を与える可能性があります。 以前の動作を維持するには、@amplitude/plugin-user-agent-enrichment-browserをインストールします。このプラグインはクライアント側でこれらのユーザープロパティを強化し、Browser SDK 1.0と同様の結果を生成します。 詳細については、NPMパッケージを参照してください。

列挙型が不要に

Amplitudeでは列挙型(TransportType、ServerZone、およびPluginType)が必要なくなり、リテラル値を直接受け入れるようになりました。

初期化時にトランスポートプロバイダーを設定します。

ts
import * as amplitude from '@amplitude/analytics-browser';
amplitude.init(API_KEY, USER_ID, {
  transport: amplitude.Types.TransportType.Fetch,     
  transport: 'fetch',                                 
});

setTransport()を使用してトランスポートプロバイダーを設定します。

ts
import * as amplitude from '@amplitude/analytics-browser';
amplitude.setTransport(amplitude.Types.TransportProvider.Fetch);
amplitude.setTransport('fetch');                                 

初期化時にサーバゾーンを設定します。

ts
import * as amplitude from '@amplitude/analytics-browser';
amplitude.init(API_KEY, USER_ID, {
  serverZone: amplitude.Types.ServerZone.US,
  serverZone: 'US',                         
});

簡素化されたプラグインインターフェイス

Amplitudeはプラグインの作成を容易にし、より迅速なオーサリングのために必要なプロパティを少なくします。

plugin.name [オプション]

このnameフィールドはオプションのプロパティで、削除のためにプラグインを参照できます。 名前を指定しない場合、Amplitudeはプラグインを追加するときにランダムな名前を割り当てます。 プラグインを削除する予定がない場合は、名前をスキップできます。

plugin.type [オプション]

このtypeフィールドは、作成するプラグインのタイプを定義するオプションのプロパティです。 この2つのタイプを区別するには、execute()関数を参照してください。タイプを定義しない場合、プラグインはデフォルトで拡張タイプを使用します。

plugin.setup() [オプション]

setup関数はオプションのメソッドで、プラグインを追加したとき、または最初のinit時のいずれか遅い方のタイミングでAmplitudeによって呼び出されます。この関数は2つのパラメータを受け取ります。

  1. Amplitudeの設定。
  2. Amplitudeインスタンス。

このsetup関数は、Amplitudeの設定やインスタンスに依存するセットアップ操作やタスクに役立ちます。 例としては、変数へのベースライン値の割り当てやイベントリスナーの設定などがあります。

plugin.execute() [タイプ: エンリッチメントの場合はオプションです]

エンリッチメントプラグインの場合、executeはAmplitudeが各イベントに対して呼び出すオプションのメソッドです。 この関数は新しいイベントを返さなければなりません。そうしないと、Amplitudeは渡されたイベントをキューからドロップします。 このexecute機能は、イベントにプロパティを追加または削除したり、イベントをフィルタリングしたり、トラッキング対象の各イベントに対して何らかの操作を実行したりする必要がある場合に役立ちます。

送信先プラグインの場合、executeはAmplitudeが各イベントで呼び出す必須メソッドです。この関数は、event(BaseEvent)、code(数値)、message(文字列)というキーを持つレスポンスオブジェクトを返さなければなりません。このexecute機能は、イベントをサードパーティ製エンドポイントに送信する場合に便利です。

plugin.teardown() [オプション]

teardown関数は、Amplitudeが再初期化時に呼び出すオプションのメソッドです。このteardown関数は、setup またはexecute メソッドによって作成または設定された永続的な状態をリセットする場合に役立ちます。 たとえば、イベントリスナーやミューテーションオブザーバーの削除などがあります。

ウェブアトリビューションv2とウェブアトリビューションv1の比較

ウェブアトリビューションバージョン2:

  • デフォルトでは有効です。
  • セッションのコンテキスト(新規または既存)に関係なく、新しいキャンペーンでinit上のアトリビューションを追跡します。 設定できません。
  • すべての初期タッチアトリビューションプロパティのデフォルト値は"EMPTY"です。config.initialEmptyValueを使用して設定できます。
  • 新しいキャンペーンで新しいセッションを開始することはありません。 config.resetSessionOnNewCampaign = trueを使用して設定できます。
  • 広告クリックIDを追跡します。

ウェブアトリビューションバージョン1:

  • デフォルトでは有効です。
  • 新しいセッションでのinit時にアトリビューションを追跡します。設定できません。
  • 新しいキャンペーンでは、initでのアトリビューションの追跡は行いません。 config.trackNewCampaignsを使用して設定できます。
  • すべての初期タッチアトリビューションプロパティのデフォルト値は"EMPTY"です。config.initialEmptyValueを使用して設定できます。
  • 新しいキャンペーンで新しいセッションを開始することはありません。 config.resetOnNewCampaignを使用して設定できます。
  • 広告クリックIDを追跡します。

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