
1. 目的
GA4とGoogleAdsを連携する際に利用されるIDは広告識別子Advertising_id(AndroidではAD_IDと呼び、iOSではIDFAと呼ばれる)である。2021年3月にリリースされたiOS14.5(iPadOS14.5、tvOS14.5)によって、iOSの広告識別子(IDFA)がどれくらい取得できているのか確認をしておきましょう。サービスによって、ATT framewotrkの対応次第では許可されている割合は変わると思います。至高なAudienceをGA4で作ったとしてもGoogleAdsへ連携できるのは、IDFAを持っているリストだけになります。GA4で作成した対象のAudienceが10,000件あったとしても、IDFA取得率が30%であれば、3,000件しかリマーケティング対象にならないわけです。これがiOSにおけるリマーケティングの難しいところになります。
2. GA4はAdvertising_idを取得しているの?
GoogleAdsと連携されたGA4で作成したAudienceは、特に設定をせずにGoogleAds側で利用が出来ます。上記の通り、GoogleAdsとGA4のAudienceはAdvertising_idで紐づけるのですが、GA4上もしくはBigQueryでAdvertising_idが取得で来ていることを確認したことがありますでしょうか。※ここでは、GA4の探究レポートでAdvertising_idを確認できるかどうかは省略します。
2-1. BigQueryでAdvertising_idの確認
-
自動取得イベントsession_startでiOSとAndroidのadvertising_idとスキーマキーを確認します
-
Advertising_idがない場合、iOSは”、Andoridはnullが入ります
-
user_idを取得していないケースを考慮してSDKが発行する(Webでいうcidのようなもの)、user_pseudo_idでユーザー数をカウントします。このユーザー数に対してAdvertising_idがどれくらい取得で来ているのかを確認します
CREATE TEMPORARY FUNCTION fromDate() AS (DATE('2021-11-01'));
CREATE TEMPORARY FUNCTION toDate() AS (DATE('2021-11-01'));
WITH
ad_id as(
SELECT
PARSE_DATE("%Y%m%d", event_date) AS datetime,
platform,
user_pseudo_id,
device.advertising_id,
FROM `*******.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', fromDate()) AND FORMAT_DATE('%Y%m%d', toDate())
AND event_name in('session_start')
AND platform in('IOS','ANDROID')
)
SELECT
datetime,
platform,
SUM(is_limited) limited_ad_tracking_uu,
COUNT(user_pseudo_id) all_uu,
SUM(is_limited)/COUNT(user_pseudo_id)limited_ad_tracking_uu_rate
From
(SELECT
datetime,
platform,
user_pseudo_id,
MAX(if(advertising_id is null OR advertising_id='',1,0))is_limited
FROM ad_id
GROUP BY 1,2,3)
GROUP BY 1,2
ORDER BY
datetime,
platform
このクエリー結果の「limited_ad_tracking_uu_rate」が1(=100%)になることがあります。
– BigQueryでAdvertising_idを確認できない?
– もしくはそもそもGA4でAdvertising_idを取得していない?
– BigQueryにはAdvertising_idスキーマがあるのに確認ができないのだろうか?
と思ってしまうと思いますが、アプリを実装したエンジニアにAdvertising_idを取得しているか確認しましょう。そしてGA4の設定画面の管理者にBigQueryのリンク設定内容の確認をしましょう。
下記の「モバイルアプリ ストリーム用の広告識別子の追加」にチェックがされていないと実装上Advertising_idを取得していたとしても、BigQueryには表示されません。
また、アプリがAdvertising_idを取得で来ていることが確認できていれば、GA4の、このチェックがOFFになっていても、GoogleAdsとGA4でAudienceやコンバージョンの連携は出来ます。あくまでもBigQueryにExportするかどうかの設定となります。

2-2. BigQueryで広告識別子の取得許可フラグ(is_limited_ad_tracking)の確認
BigQueryのスキーマに「device.is_limited_ad_tracking:デバイスの広告トラッキング制限の設定」があります。これはユーザーがアプリ毎に、広告識別子を取得してよいか(利用してよいか)を選択できるため、その設定内容を取得できます。Advertising_idの取得状況と、この内容を両方見てみましょう。
-
自動取得イベントsession_startでiOSとAndroidのdevice.is_limited_ad_trackingとスキーマキーの内容を確認します
-
device.is_limited_ad_trackingには’Yes’か’No’が入っています
-
Advertising_idの有無は今回チェックしていません
-
user_idを取得していないケースを考慮してSDKが発行する(Webでいうcidのようなもの)、user_pseudo_idでユーザー数をカウントする。 このユーザー数に対してdevice.is_limited_ad_tracking=’Yes’の割合を確認します
CREATE TEMPORARY FUNCTION fromDate() AS (DATE('2021-04-01'));
CREATE TEMPORARY FUNCTION toDate() AS (DATE('2021-04-01'));
with
limited_ad_tracking as(
SELECT
PARSE_DATE("%Y%m%d", event_date) AS datetime,
platform,
user_pseudo_id,
device.is_limited_ad_tracking,
FROM `*******.analytics_123456789.events_*`
WHERE _TABLE_SUFFIX BETWEEN FORMAT_DATE('%Y%m%d', fromDate()) AND FORMAT_DATE('%Y%m%d', toDate())
AND event_name in('session_start')
AND platform in('IOS','ANDROID')
)
SELECT
datetime,
platform,
SUM(is_limited) limited_ad_tracking_uu,
COUNT(user_pseudo_id) all_uu,
SUM(is_limited)/COUNT(user_pseudo_id)limited_ad_tracking_uu_rate
From
(SELECT
datetime,
platform,
user_pseudo_id,
MAX(if(is_limited_ad_tracking='Yes',1,0))is_limited
FROM limited_ad_tracking
GROUP BY 1,2,3)
GROUP BY 1,2
2-3. 広告識別子の取得状況や許可フラグ
①Advertising_idの取得許可率 - IOSのみ
※取得「許可」率です

②Advertising_idの取得状況 - IOSのみ

①と②は値は少し異なります。①の方が少し高いでしょうか。
また、②はある時期からBigQueryに広告識別子を吐き出す設定を有効にしたため、11月前半以前は取得率が0になっています。※設定:「モバイルアプリ ストリーム用の広告識別子の追加」
この設定は、データガバナンス担当に確認をしながら進める事を推奨します。プライバシーポリシーとにらめっこをする必要があります。
ここからわかることは、
(比較となるAndoridの値をグラフに表示しておりませんが)iOSの広告識別子(IDFA)の取得状況あまり高くないため、GA4がGoogleAdsにAudienceを連携したとしても、Androidに比べてiOSではリマーケティング候補のサイズが少なくなってしまうという事です。
自サービスのOS利用率(iOSとAndorid)をファンダメンタル集計はできると思いますので、iPhone(iOS)の利用率イコールGoogleAdsのリーチ率になるわけではない事に注意が必要です。
3. Advertising_id取得率の改善
広告識別子のトラッキング許可をユーザーにリクエストする方法は、Appleのガイドラインに詳しく説明がございます。
App Tracking Transparency(ATT)frameworkの実装を行っていないアプリで、広告識別子は実質利用できない状況なので、こちらの実装、対応が必要になってきます。

4. 最後に
GA4でAudienceを作り30日以上経過し、ある程度、学習内容が落ち着てくると、GA4上のAudienceの「対象ユーザー数」とGoogleAds側のオーディエンスマネージャーの「サイズ」の数字が確認できます。GoogleAdsは類推セグメントも作成してくれますので、GA4のオーディンエス対象ユーザーだけを頼りにリマーケティングキャンペーンを実施するのではなく、GoogleAds側のオーディエンスマネージャーでサイズ感を確認して検証並びにキャンペーンの実施を行うことができます
予測オーディエンスを使ったGoogleAdsキャンペーンの準備をしている際に、そもそもAdvertising_id(IDFA、Ad_id)は取得できているのか?とふと疑問に思った際の確認内容になります。GTMの設定やSDKのファンクションでAdvertising_idについて何かした記憶がない場合は確認をしてみてください。user_idのように特別な実装が必要ではございませんが、BigQueryで確認ができないと、あれ?と思ってしまった案件となります。
また、リマーケティングを行う際にどれくらいのサイズ感があるかを事前に把握し、検証する際に必要な期間や費用をしっかりデータアナリストが設計して進める必要があります。
コメント