このページでは

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.

Google アナリティクスからの移行

このガイドでは、Google Analytics(GA4)からAmplitudeに移行するためのオプションについて説明します。移行には、Amplitudeのイベント構造と機能に合わせてトラッキング実装を調整する必要があります。

Amplitudeは2つの移行方法を提供しています:

  1. ローコードの Google アナリティクス イベント転送プラグイン
  2. Google AnalyticsとAmplitudeトラッキングの違いを説明した移行ガイドです。

過去のGA4データをインポート

BigQuery経由で過去のGoogle Analytics 4データをAmplitudeにインポートできます。設定手順については、Google アナリティクス 4 インポートのドキュメントを参照してください。

Google アナリティクスからイベントを転送する

それほど複雑ではない実装のために、Amplitudeはローコード移行ツールを提供しています:Google 分析 イベント フォワーダー。

Google 分析のイベント転送機能の仕組み

転送機能は、Amplitude Browser SDK用のプラグインです。アプリケーションにプラグインをインストールすると、プラグインは Google アナリティクス(GA4)が追跡するイベントをリッスンします。Google アナリティクス(GA4)に送信される各イベントについて、プラグインは対応するイベントをAmplitudeに送信します。

Google アナリティクスイベントフォワーダーを使用してAmplitudeを初期化する

Google Tagスニペットの前に、Google Analyticsイベント転送機能を含むAmplitude SDKのスニペットを追加してください。Google Tagスニペットの前に配置することで、AmplitudeはGoogle Analyticsで収集したすべてのイベントを確実に受信できます。

plaintext
<script type="text/javascript">
  !function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:{}};if(r.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var n=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,r){return function(n){e._q.push({name:t,args:Array.prototype.slice.call(r,0),resolve:n})}},o=function(e,t,r){e[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))}}},i=function(e){for(var t=0;t<m.length;t++)o(e,m[t],!1);for(var r=0;r<y.length;r++)o(e,y[r],!0)};r.invoked=!0;var a=t.createElement("script");a.type="text/javascript",a.crossOrigin="anonymous",a.src="https://cdn.amplitude.com/libs/plugin-ga-events-forwarder-browser-0.4.1-min.js.gz",
  a.onload=function(){e.gaEventsForwarder&&e.gaEventsForwarder.plugin&&e.amplitude.add(e.gaEventsForwarder.plugin())};var c=t.createElement("script");c.type="text/javascript",c.integrity="sha384-HpnlFSsUOQTaqmMKb6/PqZKVOBEpRji3JNLr81x6XElQ4bkquzRyG/F8rY8IDMuw",c.crossOrigin="anonymous",c.async=!0,c.src="https://cdn.amplitude.com/libs/analytics-browser-2.2.1-min.js.gz",c.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};var u=t.getElementsByTagName("script")[0];u.parentNode.insertBefore(a,u),u.parentNode.insertBefore(c,u);for(var p=function(){return this._q=[],this},d=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],l=0;l<d.length;l++)n(p,d[l]);r.Identify=p;for(var g=function(){return this._q=[],this},v=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],f=0;f<v.length;f++)n(g,v[f]);r.Revenue=g;var m=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset","extendSession"],y=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];i(r),r.createInstance=function(e){return r._iq[e]={_q:[]},i(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
  amplitude.init('YOUR_API_KEY');
</script>

'YOUR_API_KEY'をAmplitude APIキーに置き換えてください。このキーは、Amplitudeアカウントで確認できます。

Google Tagは、ウェブサイトのすべてのページで、<head>エレメントのすぐ後に表示されます。アカウントの Google タグは、以下のスニペットのようになっています。

html
    <!-- Google tag (gtag.js) -->
    <script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
    <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'G-XXXXXXXXXX');
    </script>

GoogleアナリティクスとAmplitudeの両方のスニペットを追加すると、Googleアナリティクスのイベントは追加の計測なしでAmplitudeに表示されます。

Googleアナリティクスから転送されるイベント名とプロパティは、Googleアナリティクスに設定されている命名規則に従います。たとえば、Google Analyticsのカスタムディメンションにcityを保存している場合、そのイベントプロパティはAmplitudeではua_dimension_14として表示されることがあります。

また、AmplitudeはGoogle アナリティクスの測定IDも追跡し、イベントが発生した場所を特定するのに役立ちます。

Google AnalyticsとAmplitudeの両方がデフォルトで追跡するイベント(例:page_view)の場合、プラグインは重複を避けるためにAmplitudeのデフォルト値を使用します。

Google アナリティクスを置き換える

よりカスタマイズされた実装を行うには、Google アナリティクスをAmplitudeに置き換え、イベントがAmplitudeで正しく追跡されるようにトラッキングを調整してください。

Amplitudeを初期化する

アプリケーションのコードで、Google アナリティクス(GA4)の初期化スクリプトをAmplitudeの初期化スクリプトに置き換えます。

Google アナリティクス スクリプト:

html
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());
  gtag('config', 'G-XXXXXXXXXX');
</script>

以下のAmplitude初期化スクリプトをコピーするか、GitHubでその他のインストールオプションを参照してください。

plaintext
<script type="text/javascript">
  !function(){"use strict";!function(e,t){var r=e.amplitude||{_q:[],_iq:{}};if(r.invoked)e.console&&console.error&&console.error("Amplitude snippet has been loaded.");else{var n=function(e,t){e.prototype[t]=function(){return this._q.push({name:t,args:Array.prototype.slice.call(arguments,0)}),this}},s=function(e,t,r){return function(n){e._q.push({name:t,args:Array.prototype.slice.call(r,0),resolve:n})}},o=function(e,t,r){e._q.push({name:t,args:Array.prototype.slice.call(r,0)})},i=function(e,t,r){e[t]=function(){if(r)return{promise:new Promise(s(e,t,Array.prototype.slice.call(arguments)))};o(e,t,Array.prototype.slice.call(arguments))}},a=function(e){for(var t=0;t<m.length;t++)i(e,m[t],!1);for(var r=0;r<g.length;r++)i(e,g[r],!0)};r.invoked=!0;var c=t.createElement("script");c.type="text/javascript",c.integrity="sha384-Chi7fRnlI3Vmej27YiXRbwAkES7Aor2707Qn/cpfhyw4lYue9vH/SOdlrPSFGPL/",c.crossOrigin="anonymous",c.async=!0,c.src="https://cdn.amplitude.com/libs/analytics-browser-2.3.2-min.js.gz",c.onload=function(){e.amplitude.runQueuedFunctions||console.log("[Amplitude] Error: could not load SDK")};
  var u=t.getElementsByTagName("script")[0];u.parentNode.insertBefore(c,u);for(var l=function(){return this._q=[],this},p=["add","append","clearAll","prepend","set","setOnce","unset","preInsert","postInsert","remove","getUserProperties"],d=0;d<p.length;d++)n(l,p[d]);r.Identify=l;for(var f=function(){return this._q=[],this},v=["getEventProperties","setProductId","setQuantity","setPrice","setRevenue","setRevenueType","setEventProperties"],y=0;y<v.length;y++)n(f,v[y]);r.Revenue=f;var m=["getDeviceId","setDeviceId","getSessionId","setSessionId","getUserId","setUserId","setOptOut","setTransport","reset","extendSession"],g=["init","add","remove","track","logEvent","identify","groupIdentify","setGroup","revenue","flush"];a(r),r.createInstance=function(e){return r._iq[e]={_q:[]},a(r._iq[e]),r._iq[e]},e.amplitude=r}}(window,document)}();
  amplitude.init("<YOUR_API_KEY>");
</script>

イベントを追跡

Amplitudeのトラッキング機能には、Google アナリティクス(GA4)とは異なるパラメータが必要です。以下のコードスニペットでトラッキング機能を比較してください。

Google アナリティクス(GA4)

js
gtag('event', 'event_name', {
  param1: 'value1',
  param2: 'value2',
});

Amplitude

詳細については、イベントの追跡を参照してください。

js
amplitude.track('event_name, {
  param1: 'value1',
  param2: 'value2',
})

ユーザーIDを設定する

Google アナリティクス(GA4)

js
gtag('config', 'GA_MEASUREMENT_ID', {
    user_id: 'USER_ID',
});

Amplitude

詳細については、「カスタムユーザーID」を参照してください。

js
amplitude.setUserId('USER_ID');

ユーザープロパティを設定する

Google アナリティクス(GA4)

js
gtag('set', 'user_properties', {
    property1: 'value1',
    property2: 'value2',
});

Amplitude

詳細については、「ユーザープロパティ」を参照してください。

js
amplitude.identify(
  new amplitude.Identify()
    .set('property1', 'value1')
    .set('property2', 'value2'),
);

詳細については、Amplitude Browser SDKのドキュメントを参照してください。

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