iOS 17のリンクトラッキング保護によって、dclid、msclkidなどの一般的なトラッキングパラメータが削除されるため、正確な広告トラッキングの維持がより困難になっています。あるクライアントの最近の事例では、Google AdsとShopifyでデータが継続的に存在しているにもかかわらず、Matomoで大幅なデータ損失が発生しました。

この問題に対処するために、広告パラメータの名前を変更し、MatomoのJavaScriptトラッキングでそれらを復元するというカスタムソリューションを考案しました。この方法では、データの整合性を維持しながら、iOSのリンクトラッキングの削除を回避します。問題の解決方法を以下に示します。

課題の理解

iOS 17のリンクトラッキング保護は、URLから既知のトラッキングパラメータを自動的に削除します。影響を受けるパラメータには以下が含まれます。
 

  • gclid – Google AdWords / アナリティクス
     
  • dclid – Googleディスプレイネットワーク
     
  • foclid – Facebook広告
     
  • twelkd – Twitter広告
     
  • msclkid – Microsoft広告
     
  • mc_eid – Mailchimp
     
  • igshid – Instagram
     

これらの変更はユーザーのプライバシーを強化しますが、Matomoなどの分析プラットフォームでのデータの不完全さにつながり、マーケティングアトリビューションのワークフローを妨げます。

私たちのソリューション

iOS 17の制限を回避するために、2つの部分からなる戦略を考案しました。
 

  1. 広告URLのパラメータ名のカスタマイズ
     
  2. Matomoトラッキングコードでの元の名前の復元
     

これにより、トラッキングパラメータがiOSによって削除されるのを防ぎながら、Matomoでの機能を維持できます。

1. 広告URLのパラメータ名のカスタマイズ

広告URLを変更して、デフォルトのトラッキングパラメータを、iOSがトラッキング識別子として認識しないカスタム名に置き換えます。

パラメータマッピングの例:
 

  • gclid は customMatomoGclid になります
     
  • dclid は customMatomoDclid になります
     
  • foclid は customMatomoFoclid になります
     
  • twelkd は customMatomoTwelkd になります
     
  • msclkid は customMatomoMsclkid になります
     
  • mc_eid は customMatomoMc_eid になります
     
  • igshid は customMatomoIgshid になります
     

更新された広告URLの例:

https://www.glinteco.com/?customMatomoGclid=12345&customMatomoFoclid=67890


これらのパラメータをカスタム名に置き換えることで、iOSのリンクトラッキング保護によってフラグが立てられたり、削除されたりすることはありません。

2. Matomoトラッキングコードでの元の名前の復元

JavaScriptを使用して、カスタムパラメータをMatomoに送信する前に元の名前にマッピングします。

カスタムMatomo JavaScriptの例:

// URLパラメータを取得
var urlParams = new URLSearchParams(window.location.search);

// カスタムパラメータを元の名前にマッピング
var paramsMapping = {
    'customMatomoGclid': 'gclid',
    'customMatomoDclid': 'dclid',
    'customMatomoFoclid': 'foclid',
    'customMatomoTwelkd': 'twelkd',
    'customMatomoMsclkid': 'msclkid',
    'customMatomoMc_eid': 'mc_eid',
    'customMatomoIgshid': 'igshid'
};

// マッピングをループ処理し、Matomoに送信
for (const [customParam, originalParam] of Object.entries(paramsMapping)) {
    var paramValue = urlParams.get(customParam);
    if (paramValue) {
        _paq.push(['setCustomVariable', 1, originalParam, paramValue, 'visit']);
    }
}

これを行うもの:
 

  • URLからカスタムパラメータを抽出します。
     
  • それらを元の名前にマッピングします。
     
  • 正確なトラッキングとアトリビューションのためにMatomoにデータを送信します。

実装手順

  1. 広告キャンペーンの更新:Google Ads、Facebook、Microsoft Ads、その他のプラットフォームですべてのアクティブなキャンペーンURLを修正して、カスタムパラメータ名を使用します。
     

  2. Matomoトラッキングコードの更新:ウェブサイトのJavaScriptトラッキングコードにカスタムマッピングロジックを追加します。
     

  3. トラッキングのテスト:テスト広告をクリックし、Matomoが正しいパラメータを受信していることを確認することで、機能性を検証します。

このソリューションが機能する理由

  • パラメータの削除を回避:カスタム名は、iOSのトラッキング保護によってパラメータが識別および削除されるのを防ぎます。
     

  • データの整合性を維持:Matomoでパラメータを復元することで、データは正確で実行可能なままになります。
     

  • シームレスな統合:この方法は、他のトラッキングシステムを妨げることなく、すべての主要な広告プラットフォームで機能します。

結論

iOS 17のプライバシーアップデートは課題をもたらしますが、積極的なアプローチによって、正確な広告トラッキングを維持できます。パラメータ名をカスタマイズし、Matomoでそれらを復元することで、キャンペーンアトリビューションを保護しながら、これらの変更を効果的に回避できます。

このソリューションの実装または追加のトラッキング戦略の検討について支援が必要ですか?お知らせください!