iPhoneでMatomoを使用し、広告クリックIDの欠損を回避する方法
By JoeVu, at: 2024年12月19日11:03
Estimated Reading Time: __READING_TIME__ minutes


iPhoneでMatomoを使用する際に広告クリックIDの欠落を回避する方法
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つの部分からなる戦略を考案しました。
- 広告URLのパラメータ名のカスタマイズ
- 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にデータを送信します。
実装手順
-
広告キャンペーンの更新:Google Ads、Facebook、Microsoft Ads、その他のプラットフォームですべてのアクティブなキャンペーンURLを変更して、カスタムパラメータ名を使用します。
-
Matomoトラッキングコードの更新:カスタムマッピングロジックをWebサイトのJavaScriptトラッキングコードに追加します。
-
トラッキングのテスト:テスト広告をクリックし、Matomoが正しいパラメータを受信していることを確認することで、機能を確認します。
このソリューションが有効な理由
-
パラメータの削除を回避:カスタム名を使用することで、パラメータがiOSのトラッキング保護によって識別および削除されるのを防ぎます。
-
データの整合性を維持:Matomoでパラメータを復元することで、データは正確で実用的なままになります。
-
シームレスな統合:この方法は、他のトラッキングシステムを中断することなく、すべての主要な広告プラットフォームで機能します。
結論
iOS 17のプライバシーアップデートは課題をもたらしますが、積極的なアプローチにより、正確な広告トラッキングを維持できます。 パラメータ名をカスタマイズし、Matomoで復元することで、キャンペーンの帰属を保護しながら、これらの変更に効果的に対応できます。
このソリューションの実装または追加のトラッキング戦略の検討について支援が必要ですか? お知らせください!