UOMO Google Ad Manager タグ差し替え手順
作成日: 2026-09-15

■ お渡しするファイル
1. UOMO_GAM_head_article.txt
   ご指定の記事URLのGAM・ヘッダービディング関連headタグ一式。
   PC 2枠 / SP 23枠（記事内20枠を含む）。HTMLのscriptタグ付き。
2. UOMO_GAM_head_top-category.txt
   トップ・FASHIONカテゴリで確認した構成。PC / SP 各1枠。
3. UOMO_TreasureData_callback.txt
   既存Treasure Dataスクリプト内に残る旧APIの差し替えブロック。
   単独のheadタグではなく、既存コールバック内へ貼り付けるコード。

■ 重要: 現在のhead内では関連タグが離れた位置にあります
単に既存タグへ追記すると二重定義・二重入札になります。
以下A/B/Cを対象に置換し、CSS・メタ情報・GTM・Datadog・Meta Pixelなどは維持してください。
head全体を削除・上書きするファイルではありません。

A. head前半の広告ライブラリとページターゲティング
   開始: https://link.rubiconproject.com/magnite/12970.js のscript
   終了: shuAd定義と ref / url / type のsetTargetingを含むscriptの閉じタグ
   この範囲にはMagnite 2本、APSローダー、GPTローダー、googletag初期化が含まれます。

B. head末尾の広告枠と入札処理
   開始: const inArticleAdCount = ...; を含むscript
   終了: function fetchHeaderBids() を含むscriptの閉じタグ（</head>直前）
   この範囲にはdefineSlot・ページ設定・apstag.init・apstagSlots・pbjs・入札後refreshが含まれます。

置換方法:
   Aを該当する UOMO_GAM_head_*.txt の全文で置換し、Bを削除してください。
   ライブラリ→ページターゲティング→広告枠→APS/Prebid入札という順序で一つにまとめています。
   body内の既存div ID・googletag.display()・PC/SP表示条件はそのまま使用できます。
   GPTローダーとenableServices、広告枠定義、入札開始が二重に残っていないことを確認してください。

C. Treasure Dataスクリプト（必須）
   fetchUserSegmentsSuccessCallback の中の、次の旧ブロック全体を探します。

   googletag.cmd.push(function() {
       googletag.pubads().setTargeting('td_cdp_segment', segId.join(','));
       googletag.enableServices();
   });

   上記を UOMO_TreasureData_callback.txt のコードで置換してください。
   TDの初期化、認証関連設定、ページ別customParam、dataLayer、fbq、セグメント取得処理は維持。
   ここを変更しないとセグメントを取得したユーザーでは旧APIの警告が残ります。
   API差し替えに広告の追加refreshは不要です。TD取得と初回入札のタイミングは現行のままです。
   従来どおり、初回広告リクエスト後にTDが到着した場合、初回広告にその値は遡って入りません。

■ ページテンプレートに反映する際
記事用TXTは例示記事の出力HTML（記事内20枠）の完全な置換例です。
全記事の枠数が20であるとは確認していません。
CMSの条件分岐・inArticleAdCountの動的出力・ページ別広告枠数は既存テンプレートの値を維持し、
差分に示したAPI移行を適用してください。bodyに存在しない枠を新設しないでください。
トップとFASHIONカテゴリは現行GAMコードが空白を除き同じであることを確認済みです。
他のページ種別や広告非表示ページは、公開前に開発会社のステージングで確認してください。

■ 変更したAPI（値・広告ユニット・サイズ・入札設定は維持）
PubAdsService.setTargeting → googletag.setConfig({ targeting: ... })
PubAdsService.disableInitialLoad → googletag.setConfig({ disableInitialLoad: true })
PubAdsService.enableSingleRequest → googletag.setConfig({ singleRequest: true })
PubAdsService.enableLazyLoad → googletag.setConfig({ lazyLoad: { ... } })
Slot.setCollapseEmptyDiv(true, true) → Slot.setConfig({ collapseDiv: "BEFORE_FETCH" })
TDコールバック内の重複enableServicesを削除（GAM本体で一度だけ実行）。
td_cdp_segmentは従来のカンマ区切り文字列を維持（配列へ変更していません）。
APSとGPTの記事内サイズには現行から差があり、その差も維持しています。

■ テストページ
記事版: https://uomo-gpt-setconfig-test.pages.dev/
トップ・カテゴリ版: https://uomo-gpt-setconfig-test.pages.dev/top-category.html
両ページともheadは配布TXTと完全一致し、bodyタグもHTMLに直接実装。
幅1160px以上でPC、1159px以下でSP。幅変更後に再読み込みしてください。
本番GAMユニット、Magnite/Prebid、APSを使用します。
テストページのurl/refはテストページ自身の値です。UOMOのURLへ偽装していません。
TDはwebuomo.jpのCookie/取得基盤に依存するため、Cloudflare上では実際の取得を行いません。
本番のTD実ユーザー・全広告クリエイティブ・全CMSテンプレートはステージング検証が必要です。
外部入札ライブラリやGTMが旧APIを呼ぶ場合は、別途その提供元の更新が必要です。

■ 公開ページで確認した外部ライブラリ由来の警告
Magnite https://link.rubiconproject.com/magnite/12970.js の6行目から、
PubAdsService.getTargeting の非推奨警告が出ることをスタックトレースで確認しました。
同じ外部ファイルには carbon_segment / cc-iab-class-id を設定する旧setTargetingも存在します。
ブラウザの保存データ等の条件次第で、外部スクリプト由来のsetTargeting警告が出る可能性があります。
この外部ファイルはサイトのhead差し替えでは修正されません。Magnite側へConfig API移行を依頼してください。
GAMのAPIを上書きして警告を隠す処理は加えていません。
PC確認時には外部ユーザーID同期通信のCORSエラーも観測しました。GAMへの広告応答は受信しています。

■ Google公式資料
https://developers.google.com/publisher-tag/guides/publisher-console-messages?hl=ja#170
https://developers.google.com/publisher-tag/reference?hl=ja#googletag.config.PageSettingsConfig
https://developers.google.com/publisher-tag/reference#googletag.Slot.setCollapseEmptyDiv

■ 実装確認元
https://www.webuomo.jp/fashion/uniqlo_gu/2026-08-24-pBnrYQ/
https://www.webuomo.jp/
https://www.webuomo.jp/fashion/
