Didomi - Developers documentation
  • Introduction
  • SDKs
    • Introduction
    • Web SDK
      • Getting started
      • Tags and vendors management
        • Tags management
          • Events & Variables
            • Deprecated
            • Custom events
          • Tag managers
            • Adobe Launch/DTM
            • Eulerian
            • Google Tag Manager
              • Configure the Didomi / GTM integration
              • Didomi's GTM template
            • Tealium
            • Other tag managers
        • Custom Didomi <script> tags
        • Third-party integrations
          • Google Ad Manager / AdSense
            • GDPR via Non-Personalized Ads
              • Share consent and load/refresh ads
              • Share consent without loading or refreshing ads
            • US states laws
          • Google Consent Mode V2
          • Kameleoon
          • Piano Analytics (AT Internet)
          • Prebid
            • GDPR via IAB TCF
            • US states laws
          • Salesforce DMP (Krux)
        • IAB frameworks
        • Programmatic API
      • Configuration
        • Bots (SEO & Performance tools)
        • Configuration by URL
        • Cookies and storage
        • Custom domains for events
        • Notice
          • Behavior
          • Interactions
          • Look and feel
        • Preferences
        • Theme
      • AB tests
      • Custom domain
        • Domain delegation
        • Reverse proxy
      • Share consents between domains
      • Share consents across devices
      • Pass user choices in query string
      • Serve Didomi assets from your domain
      • Reference
        • API
          • Deprecated
        • Events
      • Performance
      • Versions
    • Mobile and TV SDKs
      • Android and Android TV
        • Setup
        • Logging
        • Reference
          • API
            • Deprecated
          • Events
        • Versions
      • iOS and tvOS
        • Setup
        • Logging
        • App Tracking Transparency (iOS 14.5+)
        • Reference
          • API
            • Deprecated
          • Events
        • Versions
      • Unity
        • Setup
        • Reference
        • Versions
        • Troubleshooting
      • React Native
        • Setup
        • Reference
          • Deprecated
        • Versions
      • Flutter
        • Setup
        • Reference
        • Versions
      • Consent notice
        • Getting started
        • Customize the notice
        • Customize the preferences popup
        • Customize the theme & UI
        • Load notice by ID
      • Third-party SDKs
      • Share consents across devices
      • Share consent with WebViews
      • Google Consent Mode v2
      • FAQ
    • AMP SDK
      • Blocking Behaviors
        • Load immediately on page load
        • Load only after consent (positive or negative)
        • Load only after positive consent
      • Consent status for vendors
    • Help & Support
  • API
    • Introduction
      • Authentication
      • Errors
      • Pagination
      • Filters
      • Caching
      • Rate limiting
      • Quotas
      • Translations
    • Data Manager
      • Regulations
      • Configuration Tree
      • Purposes
        • Purposes & Vendors Numerical IDs
      • Preferences Library
      • User Rights
    • Widgets
      • Consent notices
        • Notices
        • Configurations
        • Multi-Regulation Configurations
          • Migration of Existing Notices and API Updates
        • Deployments
        • Tutorials
          • Create and publish a consent notice
          • Create and publish a multi-regulation consent notice
      • Privacy widgets
        • Create a widget
        • Retrieve widgets
        • Edit a widget
          • Content & Design
            • Themes & Shapes
            • Components
              • auth
              • dsar_form
              • footer
              • header
              • preference
              • preference_value
              • save
              • section
              • sections
            • Options
          • Purposes & preferences
          • Settings
        • Deploy a Widget
          • Use your own subdomain
          • Use your own domain
          • Implement an embeddable widget on your website
        • Authentication
          • Manage authentication providers
          • Authenticate your end-user
        • Archive a widget
        • Headless widgets
          • Public Methods
          • Custom elements
          • Custom events
          • Event listeners
        • Tutorial
          • Launch a Preference Center from a mobile app
    • Compliance Reports
      • Properties
      • Reports
      • CSV format reference
      • Websites
    • Consents and Preferences
      • Events
        • Generate IAB TCF consent string
      • Links
      • Proofs
      • Tokens
      • Secrets
      • Users
      • Tutorial
        • Collect and operate data
    • Privacy Requests
      • Requests
      • Notes
      • Links
      • Emails
  • Integrations
    • Introduction
      • Quotas
    • Generic integrations
      • Batch export
        • Destinations
          • AWS S3 Bucket (owned by Didomi)
          • GCP Storage Bucket
        • Exported data
          • Notices consents
        • Logs
      • Webhooks
      • Batch import
      • Analytics export
        • Destinations
          • AWS S3 Bucket (owned by Didomi)
          • GCP Storage Bucket
    • Third-party apps
      • CMP integrations
        • Didomi-mParticle integration for your CMP
        • Deploy Didomi’s SDK for your Adobe Commerce website
      • Preference Management Platform integrations
        • Actito
        • Adobe Campaign Classic
        • Adobe Experience Cloud
        • Adobe Marketo Engage
        • Adobe Source Connector
        • Braze
        • Dotdigital
        • Hubspot
        • Mailchimp
        • Microsoft Dynamics 365
        • Salesforce Marketing Cloud
        • Salesforce Sales & Service Cloud
        • Selligent
        • Brevo (ex Sendinblue)
    • Tutorials
      • Configure a HTTP webhook
      • Configure a batch export
      • Configure an analytics export
    • Emailing
      • Configurations
        • Actito Email
        • Actito SMS
        • Adobe Campaign Classic
        • Adobe Campaign Standard
      • Emails
        • Templates
        • Manage your templates
Powered by GitBook
On this page
  • Vendors that block the tag by default
  • Vendors
  • amp-ad with a RTC config
  • Summary
  • amp-ad without a RTC config
  • Summary
  • Other tags/vendors
  • Summary
  1. SDKs
  2. AMP SDK
  3. Blocking Behaviors

Load only after positive consent

PreviousLoad only after consent (positive or negative)NextConsent status for vendors

Last updated 2 years ago

In this scenario, tags are loaded only after consent (positive or negative). If the user consent status is available because the user has already given consent through the CMP, the user consent status is passed to the tag. If the user consent status is not available yet (the CMP is still displayed), the tag is loaded only after positive consent.

Tags and vendors are split into four categories:

The behavior may vary depending on the type of tags and vendors. Please contact your vendors if the behavior you are looking for is not the one currently applied.

Vendors that block the tag by default

You have nothing to add on your side. The current consent state will be sent automatically on each request.

<amp-analytics type="comscore">
  <script type="application/json">{ "vars": { "c2": "1234"}} </script>
</amp-analytics>

Vendors

There is no clear list of vendors that automatically collect the user consent status from AMP. They can usually be identified through their AMP configuration by checking if they reference the consentState parameter.

List of vendors and their configurations:

amp-ad with a RTC config

By default, adding data-block-on-consent to your tag will block it as well as the bid request until a positive consent is sent. If the vendor can display non-personalized ads on rejected consent, ads will be displayed but no HTTP request will be done to the vendor.

RTC has the advantage to use macros and is able to send the IAB consent string and state if the vendor has implemented the feature on its side. For more information related to the support of the IAB consent string, please contact your vendors.

Example of amp-ad with the type DoubleClick and a RTC config with APS.

<amp-ad 
  data-block-on-consent
  width="300"
  height="200"
  type="doubleclick"
  data-slot="/1234"
  rtc-config='{
    "vendors": {
        "aps": {}
      }
    }'>
  </amp-ad>

Summary

Case

RTC Call

Consent State

Consent String

Ad

Page load

Not sent

Not available

Not available

Not displayed

Dismiss the banner

Not sent

Unknown

Not available

Not displayed

Accept consent

Sent

Accepted

Available

Personalized

Reject consent

Not sent

Rejected

Available

Non-personalized

More information about the amp-ad with RTC configuration.

amp-ad without a RTC config

If you want to unblock an amp-ad when a positive consent is given, you can add the attribute in their tags.

<amp-ad
  data-block-on-consent
  width="300"
  height="250"
  type="a9"
  ...
  >
</amp-ad>

Summary

Vendors supporting non-personalized ads

Case

Ad

Page load

Not displayed

Dismiss the banner

Accept consent

Personalized

Reject consent

Non-personalized

Vendors not supporting non-personalized ads

Case

Ad

Page load

Not displayed

Dismiss the banner

Not displayed

Accept consent

Personalized

Reject consent

Not displayed

More information about the amp-ad without RTC configuration.

Other tags/vendors

If you want to unblock any other tags supporting the data-block-on-consent attribute when a positive consent is given, you can add the attribute in their tags.

<amp-analytics
  data-block-on-consent
  type="gtag"
  data-credentials="include"
>
  <script type="application/json">
    {
      "vars": {
        "gtag_id": "1234",
        ...
      },
      "triggers": {
        ...
      }
    }
  </script>
</amp-analytics>

Summary

Configuration

When is the tag loaded

Default (no data-block-on-consent)

Tag is loaded on page load.

With data-block-on-consent

Tag is loaded once a positive consent is given.

To see if the vendor is able to receive the consent state or the consent string, you can take a look at and see if the macros CONSENT_STATE or CONSENT_STRING are available in their configuration.

With use of : Non-personalized

Not displayed With use of : Non-personalized

this list
Analytics
Vendors that block the tag by default
amp-ad with a RTC config
amp-ad without a RTC config
Other tags/vendors
data-npa-on-unknown-consent
data-npa-on-unknown-consent