您可以在全球任何區域 (包括歐洲經濟區),管理 Google 發布商廣告代碼中的廣告個人化設定。
根據 Google 的新版《歐盟地區使用者同意授權政策》規定,您必須向歐洲經濟區和英國境內的使用者揭露特定資訊;若您要使用 Cookie 或其他本機儲存空間,或蒐集、分享、使用廣告個人化需要的個人資料,須依據法規要求徵得使用者同意。本政策是配合《歐盟地區電子通訊隱私指令》(EU ePrivacy Directive) 和《一般資料保護規則》(GDPR) 而制定。
凡是您依據個別請求所配置的任何廣告個人化設定都會一體適用,而不只是套用到歐洲經濟區和英國的使用者。如果您為針對歐洲經濟區和英國以外使用者的請求新增個別請求參數,系統將傳回非個人化廣告。
網頁採用 GPT 和 AdSense 標記時的廣告個人化設定
請求廣告
根據預設,傳送給 Google 的廣告請求會放送個人化廣告,且會同時根據網頁內容及該網頁訪客的記錄來選擇廣告。此外,Google 也支援放送非個人化廣告。進一步瞭解個人化和非個人化廣告。
如果您符合我們的《同意聲明政策》規定,並想向歐洲經濟區和英國境內 (或適用相同規定的其他區域) 所有造訪您網站的使用者放送非個人化廣告,則不必修改廣告代碼。您可在 Google Ad Manager 或 AdSense UI 中啟用非個人化廣告放送功能。
如果您想要向某些使用者放送個人化廣告,並向其他使用者放送非個人化廣告,則可運用 GPT 和 AdSense/Ad Exchange 非同步廣告代碼,在某幾個網頁上放送非個人化廣告。如果想讓所有或部分使用者選擇要看到個人化廣告還是非個人化廣告,這種方法或許就很實用。
雖然這些廣告不會將 Cookie 用於廣告個人化,但是會運用 Cookie 來計算展示頻率上限、提供廣告匯總報表,以及打擊詐欺和濫用行為。因此,如果使用者來自適用《電子通訊隱私指令》(ePrivacy Directive) Cookie 規定的國家/地區,您就必須取得同意聲明才可使用 Cookie 達成上述目的。進一步瞭解非個人化廣告
GPT 廣告代碼
使用下列方法:googletag.pubads().setPrivacySettings({nonPersonalizedAds: true})
setCookieOptions()
呼叫不適用於 GDPR。
AdSense 和 Ad Exchange 非同步廣告代碼
設定這個值:(adsbygoogle=window.adsbygoogle||[]).requestNonPersonalizedAds=1
請在瀏覽器的開發人員工具中找出廣告請求的 &npa=1
參數,確認廣告代碼請求的是非個人化廣告。
呼叫 setPrivacySettings({nonPersonalizedAds: false})
,或設定 requestNonPersonalizedAds=0
,即可重新啟用個人化功能。
暫停廣告請求
GPT 和 AdSense/Ad Exchange 非同步代碼可讓您先載入網頁,等明確信號出現後再發出廣告請求。如果您需要等使用者與同意聲明請求 UI 互動後再發出廣告請求,這種方法或許就很實用。
暫停 GPT 廣告請求
- 使用
disableInitialLoad()
函式來防止代碼在網頁初次載入時發出廣告請求。您必須先完成這項操作,才能觸發任何使用display()
的廣告請求。 - 照常呼叫
googletag.cmd.push(...)
來設定廣告版位。 - 在使用者表示同意與否後,即可視需要呼叫
setPrivacySettings({nonPersonalizedAds: true})
。 - 使用
refresh()
函式可恢復傳送廣告請求。 - 如果您沒有呼叫
refresh()
,就不會顯示任何廣告。
暫停 AdSense 或 Ad Exchange 非同步廣告程式碼
- 使用
(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=1
即可防止代碼發出廣告請求。您必須先完成這項操作,才能使用adsbygoogle.push(...)
觸發任何廣告請求。 - 照常呼叫
adsbygoogle.push(...)
來設定廣告版位。 - 使用者表示同意與否後,視需要設定
requestNonPersonalizedAds=1
。 - 使用
(adsbygoogle=window.adsbygoogle||[]).pauseAdRequests=0
恢復發出廣告請求。 - 如果您沒有設定
pauseAdRequests=0
,就不會顯示任何廣告。
這個技巧能阻止廣告請求發出,但仍會載入各種指令碼。雖然系統可能會讀取 Google 網域上現有的 Cookie,但不會設定新的 Cookie。凡是與現有 Cookie 相關的資料,都不會用於放送廣告或評估成效。
如果您的同意聲明管理解決方案能讓您等使用者做決定後再載入指令碼,您還可選擇延遲載入 gpt.js
和 adsbygoogle.js
。其他類型的 Google 廣告代碼不支援暫停廣告請求,因此請您在準備好請求個人化或非個人化廣告之後,再載入這些廣告代碼。
AMP 網頁的廣告個人化設定
AMP 網頁與前述非 AMP 網頁的廣告請求都提供一樣的廣告個人化設定:發布商可以選擇向位於歐洲經濟區 (EEA) 和英國的所有使用者放送非個人化廣告,也可以選擇根據同意聲明放送個人化/非個人化廣告。
以下將針對使用 <amp-ad type=”doubleclick”>
或 <amp-ad type=”adsense”>
請求廣告的 AMP 網頁,分別說明兩種設定方法。
向歐洲經濟區和英國境內的所有使用者放送非個人化廣告
如果您的 AMP 廣告代碼「並未」使用即時設定 (RTC),則您可以直接在 Google Ad Manager 或 AdSense 的 UI 中啟用非個人化廣告放送功能,不必修改 AMP 網頁。
如果您的 AMP 廣告代碼「目前」使用即時設定 (RTC),您可以對網頁進行設定,避免為會看到非個人化廣告的使用者 (也就是歐洲經濟區和英國境內的使用者) 傳送 RTC 請求。以下是這個做法的必要元件和設定 (amp-geo
與 amp-consent
)。
<!-- 首先,我們需要設定 amp-geo 額外資訊。我們會定義納入所有歐洲經濟區國家/地區和英國的「eea」群組。請務必即時更新這份清單,因為歐洲經濟區的成員國可能會有所變動。-->
<amp-geo layout="nodisplay">
<script type="application/json"
{
"ISOCountryGroups": {
"eea": [ "at", "be", "bg", "cy", "cz", "de", "dk", "ee", "es", "fi", "fr",
"gb", "gr", "hr", "hu", "ie", "is", "it", "li", "lt", "lu", "lv", "mt", "nl",
"no", "pl", "pt", "ro", "se", "si", "sk"]
}
}
</script>
</amp-geo>
<!-- 接著需要為歐洲經濟區國家/地區的使用者設定同意聲明元件。我們會在隨後將其設為 auto-rejected,因此實際上不會顯示同意聲明提示。這樣可中止 RTC 呼叫,並指示 Ad Manager/AdSense 放送非個人化廣告 -->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
"consents": {
"my_consent": {
"promptIfUnknownForGeoGroup": "eea"
}
}
}
</script>
</amp-consent>
您必須將 data-block-on-consent
屬性加到網頁上任何現有的 amp-ad
元件中,如下所示:
<!--最後將廣告代碼設為自動拒絕同意聲明-->
<amp-ad data-block-on-consent="_auto_reject"
width=320 height=50
type="doubleclick"
data-slot="/4119129/mobile_ad_banner">
</amp-ad>
根據同意聲明放送個人化/非個人化廣告
由於 AMP 不允許使用自訂 JavaScript,因此您需要透過設定 amp-consent
元件,以及 data-block-on-consent
和 data-npa-on-unknown-consent
兩個屬性,指明請求的是個人化或非個人化廣告。假設您設定了 amp-consent
元件,並使用 data-block-on-consent
將這個元件連至網頁上所有的 <amp-ad>
代碼:
- 如果使用者正面回應
amp-consent
元件 (接受同意聲明提示),系統將如常請求廣告。 - 如果使用者負面回應
amp-consent
元件 (拒絕同意聲明提示),系統將請求非個人化廣告。 - 如果使用者對
amp-consent
的回應不明 (關閉同意聲明提示)- 根據預設,系統完全不會傳送任何廣告請求
- 如果
data-npa-on-unknown-consent
設為true
,系統將請求非個人化廣告
- 如果您將
amp-geo
元件設為不向位於特定地理區域的使用者顯示同意聲明提示,系統會如常傳送請求。
如果您的 <amp-ad>
代碼不使用 data-block-on-consent
,或者 amp-consent
元件設定不正確,系統會如常傳送請求。
舉例來說,以下設定會向歐洲經濟區境內的所有使用者顯示同意聲明提示,系統後續動作則如上所示:
<!-- 首先,我們需要設定 amp-geo 額外資訊。我們會定義納入所有歐洲經濟區國家/地區的「eea」群組。請務必即時更新這份清單,因為歐洲經濟區的成員國可能會有所變動。-->
<amp-geo layout="nodisplay">
<script type="application/json">
{
"ISOCountryGroups": {
"eea": [ "at", "be", "bg", "cy", "cz", "de", "dk", "ee", "es", "fi", "fr",
"gb", "gr", "hr", "hu", "ie", "is", "it", "li", "lt", "lu", "lv", "mt", "nl",
"no", "pl", "pt", "ro", "se", "si", "sk"]
}
}
</script>
</amp-geo>
<!-- 接下來,我們需要為「eea」國家/地區群組中的使用者設定使用者同意聲明 -->
<amp-consent layout="nodisplay" id="consent-element">
<script type="application/json">
{
"consents": {
"my_consent": {
"promptIfUnknownForGeoGroup": "eea",
"promptUI": "myConsentFlow"
}
}
}
</script>
</amp-consent>
<!-- 最後,我們把廣告代碼設為在必要時等待使用者提供同意聲明 -->
<amp-ad data-block-on-consent
width=320 height=50
type="doubleclick"
data-slot="/4119129/mobile_ad_banner">
</amp-ad>
您還可透過其他方式選擇性向使用者顯示同意聲明提示,包括透過 checkConsentHref
將網頁設為傳送 CORS POST 要求給指定端點。詳情請參閱 amp-consent 說明文件。
其他代碼的廣告個人化設定
GPT 回傳式曝光代碼
如果您使用 GPT 回傳式曝光代碼,便可在 API 呼叫中加入下列程式碼,將廣告請求標示為非個人化:
googletag.pubads().setPrivacySettings({nonPersonalizedAds: boolean})
將 boolean
的值設為 true
,即可將廣告請求標為非個人化廣告;如果廣告請求符合個人化廣告放送資格,則設為 false
。
無標記請求
如果您使用無標記請求,就可以直接在廣告代碼請求網址中加入 npa=[int]
參數,將廣告請求標為非個人化。建議您及早在代碼中指定這個參數,以免網址遭到截斷。只要指定 npa=1
,就能將廣告請求標為非個人化。如果略過這個參數,就會預設為放送個人化廣告。
例如:
https://securepubads.g.doubleclick.net/gampad/ad?iu=/12345/adunit&sz=728x90&npa=1&c=12345
AdSense 搜尋廣告
根據預設,傳送給 Google 的廣告請求會放送個人化廣告,且會同時根據使用者搜尋查詢以及個別使用者進行該筆搜尋的記錄來選擇廣告。此外,Google 也支援放送非個人化廣告。進一步瞭解個人化和非個人化廣告
如果發布商想要向某些使用者放送個人化廣告,並向其他使用者放送非個人化廣告,則可運用 AdSense 搜尋廣告代碼,在某幾個網頁上放送非個人化廣告。如果想讓所有或部分使用者選擇要看到個人化廣告還是非個人化廣告,這種方法就很實用。
自訂搜尋廣告網路廣告代碼
將下列程式碼加進自訂搜尋廣告代碼中的 pageOptions
:personalizedAds: false,
AdMob 代碼
builder.setAdvancedOptionValue("personalizedAds", "false");
iOS 代碼
[request setAdvancedOptionValue:@"false" forKey:@"personalizedAds"];
上述方法將針對個別請求觸發非個人化廣告請求。這是無狀態的參數,如果您沒有在後續的請求中為該使用者設定這個參數,運作情形就會回到預設,也就是請求個人化廣告。
Google Mobile Ads SDK
如要進一步瞭解 Google Mobile Ads SDK,請參閱應用程式開發人員網站 (iOS GMA SDK、Android GMA SDK)。
Google 互動式媒體廣告 SDK (影片廣告)
對於影片請求,只要將 npa=1
參數加到廣告代碼中,即可指定 Google 將影片內容視為非個人化,方法是使用手動建構的主影片廣告代碼,或採用任一種特定平台專用的 IMA SDK (HTML 5 IMA SDK、iOS IMA SDK、Android IMA SDK、Google Cast IMA SDK)。
如果您的影片播放器使用 Ad Manager 的「動態廣告插播」功能,便可同時透過隨選影片或直播請求加進 npa=1
參數,藉此將該參數傳遞給所有內含的廣告請求 (DAI HTML5 SDK、DAI Cast SDK、DAI iOS SDK、DAI Android SDK、DAI Roku SDK、DAI tvOS SDK)。
舊版 Google 發布商廣告代碼
其他類型的 Google 廣告代碼 (例如舊版 GAM 代碼、GUT 代碼以及 AdSense 或 Ad Exchange 同步廣告代碼 (show_ads.js
)) 無法發出非個人化廣告請求,因此請在準備好請求個人化廣告之後,再載入這些代碼。
您也可以改用提供個人化及非個人化廣告完整放送功能的廣告代碼,並暫停發出收集任何必要同意聲明的請求,這樣就能更輕鬆地遵守《歐盟地區使用者同意授權政策》規定。