Manual Integration with Scripts (Pausing & Executing) - for TCF mode

This article is intended for those who use TCF Mode but want to integrate with scripts that do not support TCF.

Modification Example for inline scripts: When adding Clickio CMP to your site, it's crucial to ensure all vendor tags comply with user consent choices, safeguarding privacy and adhering to GDPR requirements.

  • Clickio CMP automatically pauses Google ad tags until users make their consent choices, then activates them based on these choices.
  • The CMP fully implements TCF v2.2 Javascript API (__tcfapi) to communicate consent status to all tags on the page (note that by default, the TCF API is only loaded within your chosen GDPR scope)

However, some tags may not support TCF API or wait for the user to make a decision, risking GDPR violations and unintended ad displays. Modify these tags as described below to prevent such issues.

Pausing Tags Until User Choice Is Made

  1. Update the script type to text/clickiocmp.
  2. Add the async attribute to the script tags that have a src attribute.

Modification Example for inline scripts:

Change your script from its original state:

<script type="text/javascript">
	[[CODE]]
</script>

To a choice-aware configuration:

<script type="text/clickiocmp">
	[[CODE]]
</script>

Modification Example for scripts with a src attribute:

Change your script from its original state:

<script type="text/javascript" src="https://yoursite.com/script.js"></script>

To a choice-aware configuration:

<script async type="text/clickiocmp" src="https://yoursite.com/script.js"></script>
If you use Google Tag Manager
  1. Open Google Tag Manager and Navigate to Your Tag: Log in to your GTM account, go to the "Tags" section, and select the tag you need to modify.

  2. Enter Tag Configuration: Click on the tag to open its configuration settings. You'll find an HTML content box where you can edit the script.

  3. Modify the Script
    • According previous example: In the HTML content box, adjust your script tag type attribute to type="text/clickiocmp"
    • (Optional) Add additional consent checks to fine-tune script execution conditions based on user consent choices.
  4. Expand the Advanced settings > Consent Settings section: select option "No additional consent required"
  5. Scroll to the Triggering Section: At the bottom of the tag configuration page, you'll find the "Triggering" section. Click on it to edit the tag's trigger settings. From the list of available triggers, select the "All Pages > Page View" trigger.
  6. Save Your Tag Configuration: After adding and configuring the trigger, save your changes to the tag.
  7. Test the Modified Tag: Use GTM's preview mode to test the modified tag thoroughly. This step is crucial to ensure that the tag behaves as expected under various consent scenarios.
  8. Publish Your Changes: Once satisfied with the setup and the outcome of your tests, publish the changes in GTM to apply the modifications to your live website.

gtm_tag_example.png

[Paywall Version] Pausing Tags Until User Choice Is Made and Stopping Execution for Paid Subscribers

The following implementation will pause the tag and prevent it from being executed for users who subscribed via the Built-in Paywall. It can be used to stop showing ads and processing personalized information of paid subscribers.

  1. Modify the script type to text/clickiocmp.
  2. Ensure the script with src attribute has the async attribute.
  3. Add data-clickio-cmp-paywall-subscribed="0" to execute only for non-subscribers.

Modification Example for inline scripts:

Change your script from its original state:

<script type="text/javascript">
	[[CODE]]
</script>

To a choice-aware configuration:

<script type="text/clickiocmp" data-clickio-cmp-paywall-subscribed="0">
	[[CODE]]
</script>

Modification Example for scripts with a src attribute:

Change your script from its original state:

<script type="text/javascript" src="https://yoursite.com/script.js"></script>

To a choice-aware configuration:

<script async type="text/clickiocmp" data-clickio-cmp-paywall-subscribed="0" src="https://yoursite.com/script.js"></script>

Additional Parameters

Clickio CMP allows for the fine-tuning of script execution conditions through the use of additional optional parameters. These parameters enable website owners to tailor the behavior of their scripts based on various criteria, such as the user's GDPR applicability, specific consents given, and even the user's subscription or login status. 

When using multiple parameters, they work together under an AND condition. This means the script will only execute if all specified conditions are met.

data-clickio-cmp-gdpr

Checks whether the user is in the GDPR scope that is chosen in the Consent settings. It can be either EEA/UK users, or All users (global scope).

Example:

<script type="text/clickiocmp" data-clickio-cmp-gdpr="1">
	console.log('GDPR user');
</script>

<script type="text/clickiocmp" data-clickio-cmp-gdpr="0">
	console.log('Non-GDPR user');
</script>
data-clickio-cmp-purpose-consent

Can be an integer or a comma separated list of integers of IDs of IAB specified purposes for which consent is mandatory for script execution.

Example:

<script type="text/clickiocmp" data-clickio-cmp-purpose-consent="1">
	console.log('user consent for purpose 1 obtained');
</script>

 

data-clickio-cmp-purpose-li

Can be an integer or a comma separated list of integers of IDs of IAB specified purposes for which legitimate interest is mandatory for script execution. If consent was given for the corresponding purposes, the check also passes.

Example:

<script type="text/clickiocmp" data-clickio-cmp-purpose-li="2,7,9,10">
	console.log('user approved legitimate interest for purposes 2, 7, 9 and 10');
</script>

 

data-clickio-cmp-vendor-consent

Can be an integer or a comma separated list of integers of IDs of IAB vendors for which consent is mandatory for script execution.

Example:

<script type="text/clickiocmp" data-clickio-cmp-vendor-consent="755">
	console.log('user consent for Google Inc. (id:755) obtained');
</script>

 

data-clickio-cmp-vendor-li

Can be an integer or a comma separated list of integers of IDs of IAB vendors for which legitimate interest is mandatory for script execution. If consent was given for the vendors the check also passes.

Example:

<script type="text/clickiocmp" data-clickio-cmp-vendor-li="755">
	console.log('user approved legitimate interest for Google Inc. (id:755)');
</script>

 

data-clickio-cmp-special-feature-consent

Can be an integer or a comma separated list of integers of Special Features of IAB (D. Special Features) for which an approval is mandatory for script execution.

Allowed values 1, 2. Special Feature 1 means Use precise geolocation data, Special Feature 2 - Actively scan device characteristics for identification.

Example:

<script type="text/clickiocmp" data-clickio-cmp-special-feature-consent="1,2">
	console.log('Special Features 1 and 2 were obtained');
</script>

 

data-clickio-cmp-paywall-logged-in, data-clickio-cmp-paywall-subscribed

These attributes can be used when Built-in Cookie Paywall Feature is active for a site. If this option is disabled, checking these attributes is ignored as if they were absent.

Allowed values for both attributes are 0 and 1. The data-clickio-cmp-paywall-logged-in attribute indicates the subscription account’s authentication status on Clickio Consent Management Platform. The data-clickio-cmp-paywall-logged-in="1" attribute means a subscription account which has been successfully logged in the Clickio CMP. 

The data-clickio-cmp-paywall-subscribed attribute shows the status of subscription. If data-clickio-cmp-paywall-subscribed="1", then the subscription is active, if data-clickio-cmp-paywall-subscribed="0" - the subscription is inactive or its status is undefined.

<script type="text/clickiocmp" data-clickio-cmp-paywall-logged-in="1">
	console.log('User logged to subscription account');
</script>

<script type="text/clickiocmp" data-clickio-cmp-paywall-subscribed="0">
	console.log('User has no active subscription');
</script>
data-clickio-cmp-other-vendor-consent

Can be an integer or a comma separated list of integers of IDs of your Other (Custom) vendors for which consent is mandatory for script execution.

Example:

<script type="text/clickiocmp" data-clickio-cmp-other-vendor-consent="1755">
	console.log('user consent for Calendly (id:1755) obtained');
</script>
data-clickio-cmp-other-vendor-li

Can be an integer or a comma separated list of integers of IDs of your Other (Custom) vendors for which legitimate interest is mandatory for script execution. If consent was given for the vendors the check also passes.

Example:

<script type="text/clickiocmp" data-clickio-cmp-other-vendor-li="1755">
	console.log('user approved legitimate interest for Calendly (id:1755)');
</script>