このガイドでは、読み込み、初期化、イベントの計測など、Google タグマネージャー(GTM)でAdjust Web SDKを使用する方法を説明します。
Web SDKの読み込みと初期化
以下の手順で、Adjust Web SDKを読み込み、初期化する単一のGTMタグを作成します。
1.カスタムHTMLタグを作成
タグにはわかりやすい名前を付けてください。例:Adjust Web SDK - Load and Initialize
2.SDKローダースニペットを追加
GTMのカスタムHTMLタグ内に、次のローダースニペットのいずれかを追加します。
SDKを自動アップデートする場合
常にAdjust Web SDKの最新バージョンを取得するには、adjust-latest.min.jsを使用します。
手順: 以下のSDKローダースニペットをコピーして、GTMのカスタムHTMLタグに貼り付けます。
<script type="application/javascript">!function(e,t,r,a,n,o,l,i,s,c,d,h,u,f,m){var p=l+"_q",g=l+"_c";e[l]=e[l]||{},e[p]=e[p]||[],e[g]=e[g]||[];for(let t=0;t<i.length;t++)h(e[l],e[p],i[t]);for(let t=0;t<s.length;t++)u(e[l],e[p],s[t]);for(let t=0;t<c.length;t++){const r=c[t][0],a=c[t][1];let n;e[l][r]=function(...t){return n=this,e[g].push((function(){n[d]=new e[l][r](...t)})),n};for(let t=0;t<a.length;t++){const o=a[t];e[l][r].prototype[o]=function(...t){e[g].push((function(){n[d][o](...t)}))}}}f=t.createElement(r),m=t.getElementsByTagName(r)[0],f.async=!0,f.src=a,f.onload=function(){for(var t=0;t<e[g].length;t++)e[g][t]();e[g]=[];for(t=0;t<e[p].length;t++)if(e[p][t][1][0]&&e[p][t][1][0][d])e[l][e[p][t][0]](e[p][t][1][0][d]);else{const r=e[p][t][2];r?e[l][e[p][t][0]].apply(e[l],e[p][t][1]).then((e=>r.resolve(e))):e[l][e[p][t][0]].apply(e[l],e[p][t][1])}e[p]=[]},m.parentNode.insertBefore(f,m)}(window,document,"script","https://cdn.adjust.com/adjust-latest.min.js",0,0,"Adjust",["initSdk","getAttribution","getWebUUID","setReferrer","trackEvent","addGlobalCallbackParameters","addGlobalPartnerParameters","removeGlobalCallbackParameter","removeGlobalPartnerParameter","clearGlobalCallbackParameters","clearGlobalPartnerParameters","switchToOfflineMode","switchBackToOnlineMode","stop","restart","gdprForgetMe","disableThirdPartySharing","trackThirdPartySharing","initSmartBanner","showSmartBanner","hideSmartBanner"],["waitForAttribution","waitForWebUUID"],[["ThirdPartySharing",["addGranularOption","addPartnerSharingSetting"]]],"__realObj",(function(e,t,r){e[r]=function(){t.push([r,arguments])}}),(function(e,t,r){e[r]=function(){const e={};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),t.push([r,arguments,e]),e.promise}}));</script>サブリソース完全性(SRI)で特定のSDKバージョンを使用する場合
特定のSDKバージョンを読み込み、サブリソース完全性(Subresource Integrity、SRI)を使用します。integrityハッシュと crossOriginアトリビュートを含む、バージョン固有のsrc URLを使用します。これらの要素により、ブラウザーはスクリプトが改ざんされていないことを検証できます。この方法では、新しいSDKバージョンを手動で更新する必要があります。
手順: 以下のSDKローダースニペットをコピーして、GTMのカスタムHTMLタグに貼り付けます。
<script type="application/javascript">!function(e,t,r,n,a,o,i,l,s,c,d,h,u,f,m){var p=i+"_q",g=i+"_c";e[i]=e[i]||{},e[p]=e[p]||[],e[g]=e[g]||[];for(let t=0;t<l.length;t++)h(e[i],e[p],l[t]);for(let t=0;t<s.length;t++)u(e[i],e[p],s[t]);for(let t=0;t<c.length;t++){const r=c[t][0],n=c[t][1];let a;e[i][r]=function(...t){return a=this,e[g].push((function(){a[d]=new e[i][r](...t)})),a};for(let t=0;t<n.length;t++){const o=n[t];e[i][r].prototype[o]=function(...t){e[g].push((function(){a[d][o](...t)}))}}}f=t.createElement(r),m=t.getElementsByTagName(r)[0],f.async=!0,f.src=n,o&&(f.crossOrigin="anonymous",f.integrity=o),f.onload=function(){for(var t=0;t<e[g].length;t++)e[g][t]();e[g]=[];for(t=0;t<e[p].length;t++)if(e[p][t][1][0]&&e[p][t][1][0][d])e[i][e[p][t][0]](e[p][t][1][0][d]);else{const r=e[p][t][2];r?e[i][e[p][t][0]].apply(e[i],e[p][t][1]).then((e=>r.resolve(e))):e[i][e[p][t][0]].apply(e[i],e[p][t][1])}e[p]=[]},m.parentNode.insertBefore(f,m)}(window,document,"script","https://cdn.adjust.com/adjust-5.8.0.min.js",0,"sha384-YR61L/f7VPKFN/TX5B8GpDD7MJlerBFDvNVnKIp7ac2uwHHlP0O9mdOw5aDZ4T/6","Adjust",["initSdk","getAttribution","getWebUUID","setReferrer","trackEvent","addGlobalCallbackParameters","addGlobalPartnerParameters","removeGlobalCallbackParameter","removeGlobalPartnerParameter","clearGlobalCallbackParameters","clearGlobalPartnerParameters","switchToOfflineMode","switchBackToOnlineMode","stop","restart","gdprForgetMe","disableThirdPartySharing","trackThirdPartySharing","initSmartBanner","showSmartBanner","hideSmartBanner"],["waitForAttribution","waitForWebUUID"],[["ThirdPartySharing",["addGranularOption","addPartnerSharingSetting"]]],"__realObj",(function(e,t,r){e[r]=function(){t.push([r,arguments])}}),(function(e,t,r){e[r]=function(){const e={};return e.promise=new Promise(((t,r)=>{e.resolve=t,e.reject=r})),t.push([r,arguments,e]),e.promise}}));</script>今後SDKのバージョンを更新する場合
- 新しいSDKバージョン番号(例:
adjust-5.8.0.min.js)を使用してsrcアトリビュートを更新します。 integrityハッシュを更新します。この値は、Adjust Web SDK GitHubリリースに対応するINTEGRITYハッシュファイルに記載されています。
3.SDK初期化コードを追加
GTMのカスタムHTMLタグ内にローダースニペットを追加したら、続けて以下の初期化コードを追加してください。
<script> // --- Initialize the Adjust SDK --- Adjust.initSdk({ appToken: "YOUR_APP_TOKEN", // Required: Replace with your Adjust App Token environment: "sandbox", // "sandbox" for testing, "production" for live });</script>完全なカスタムHTMLタグを完成させるには、選択したSDKローダースニペットのすぐ下に、この初期化スニペットを含める必要があります。
4.タグ呼び出しオプションとトリガーを設定
- GTMのタグ設定で「 詳細設定(Advanced Settings) 」を開き、「 タグ呼び出しオプション(Tag firing options) 」で「 1ページにつき一度(Once per page) 」を選択します。
- 「 トリガー(Triggering) 」セクションをクリックし、「 すべてのページ(ページビュー)(All Pages (Page View)) 」のトリガーを選択します。
- タグを 保存(Save) します。
タグは以下のようにしてください。

これで、選択した方法とトリガーでAdjust Web SDKを読み込み、初期化できるようになります。
trackEvent
1.新しいカスタムHTMLタグを作成
- GTMコンテナで、「 タグ(Tags) 」に移動し、「 新規(New) 」をクリックします。
- タグに分かりやすい名前を付けてください(例:「Adjust Event - User Registration」)。
- 「 タグの設定(Tag Configuration) 」をクリックし、「 カスタムHTML(Custom HTML) 」を選択します。
2. イベントトラッキングスニペットを追加
以下のスニペットをHTMLフィールドに追加します。
<script> Adjust.trackEvent({ // Required: Replace "EVENT_TOKEN" with your specific Adjust event token. eventToken: "EVENT_TOKEN",
// Optional for revenue/currency: uncomment lines below. // revenue: {{DLV - Transaction Revenue}}, // currency: {{DLV - Transaction Currency}} });</script>3.トリガーを設定
特定のユーザーアクションに基づいて、このイベントタグを呼び出すトリガーを設定します。以下に、一般的な例を2つ示します。
例:フォームの送信を計測(ユーザー登録など)
- 新しいトリガーを作成し、名前を付けます(例:「Registration form submitted」)。
- トリガータイプとして「 フォーム送信(Form Submission) 」を選択します。
- 「 このトリガーの発生場所(This trigger fires on) 」で、「 一部のフォーム(Some Forms) 」を選択します。
- フォームを識別する条件を定義します(例:
Form IDequalsregistration-form)。 - トリガーを 保存(Save) します。
例:データレイヤーによって計測されるイベント(例:収益を伴う購入)を計測
これは、データレイヤーに情報をプッシュすることでWebサイトから通知される、購入などのイベントに使用されます。
- 新しいトリガーを作成し、名前を付けます (例: 「Purchase completed」)。
- トリガーのタイプとして「 カスタムイベント(Custom Event) 」を選択します。
- 「 イベント名(Event name) 」フィールドに、開発チームから提供された正確な名前を入力します(例:
purchase_completed)。 - 「 このトリガーの発生場所(This trigger fires on) 」で「 すべてのカスタムイベント(All Custom Events) 」を選択します。
- トリガーを 保存(Save) します。
以下は、ユーザー登録イベントのトリガー設定例です。

4.タグの順序付けを設定する
- イベントタグの「 詳細設定(Advanced Settings) 」で「 タグの順序付け(Tag Sequencing)」 」を見つけます。
- 「 [イベントタグ名]が発効する前にタグを配信(Fire a tag before [Your Event Tag Name] fires) 」を有効にします。
- 「 設定タグ(Setup Tag) 」には、「Adjust Web SDK - Load and Initialize」タグを選択します。これにより、イベントの計測前にSDKが確実に読み込まれます。
- イベントタグを 保存(Save) します。
以下は、ユーザー登録イベントのタグの設定例です。

動的データのGTM変数を設定
イベントに収益などの動的データが含まれている場合は、GTM変数を使用して、Webサイトのデータレイヤーから値を読み取ることができます。ただし、このようなデータを提供するようにデータレイヤーを事前に構成する必要があります。詳細については、Googleのドキュメントで開発者向けの情報を参照してください。
GTMでデータレイヤー変数を作成するには:
- 「 変数(Variables) 」に移動し、「 ユーザー定義変数(User-Defined Variables) 」の下にある「 新規(New) 」をクリックします。
- 変数に名前を付けます(例:
DLV - Transaction Revenue)。これはタグスニペットで使用される名前です(例:{{DLV - Transaction Revenue}})。 - 「 変数タイプ(Data Layer Variable) 」として「 データレイヤー変数(Variable Type) 」を選択します。
- 「 データレイヤー変数名(Data Layer Variable Name) 」フィールドに、データレイヤーで使用されている正確なキー名を入力します(例:
transaction_total)。 - 「 データレイヤーのバージョン(Data Layer Version) 」は「 バージョン2(Version 2) 」のままにしてください。
- (オプション)変数が存在しない場合は、 デフォルト値(Default Value) を設定します。
- 変数を 保存(Save) します。
動的データごとにこの手順を繰り返してください。作成後、Adjustのイベントタグでそれらを使用できます。
以下は変数設定の例です。
