Skip to content

Gamera GDPR & IAB TCF Compliance Guide for Publishers

Overview

Gamera's on page script is designed to not use cookies when it is configured in it's default state. However, you may be using more advanced or enterprise level features which could cause the creation of first party cookies. To understand better if you are leveraging these specific features, please contact your Gamera account manager.

Gamera, Inc. is registered in the IAB Europe Transparency & Consent Framework (TCF) Global Vendor List (GVL) as Vendor ID 1447. This document outlines the steps publishers must take to ensure GDPR compliance when using Gamera's tracking script if it is used with specific enterprise features that neccesitate its use:


Gamera's IAB TCF Declaration

FieldValue
Vendor ID1447
Vendor NameGamera, Inc.
Privacy Policyhttps://www.gamera.ai/policies/privacy.html
Device Storage Disclosurehttps://gamera.app/tcf.json

When using the Gamera vendor id from the IAB TCF Global Vendor List, Gamera requires consent (not legitimate interest) for the following IAB TCF purposes:

Purpose IDPurpose Name
1Store and/or access information on a device
2Select basic ads
3Create a personalised ads profile
4Select personalised ads
5Create a personalised content profile
6Select personalised content
7Measure ad performance
8Measure content performance
9Apply market research to generate audience insights
10Develop and improve products
11Use limited data to select content

Special Features

Feature IDFeature Name
SF2Actively scan device characteristics for identification

Features

Feature IDFeature Name
3Link different devices

Data Storage

Storage TypeDetails
CookiesYes
Cookie Max Age365 days
Cookie RefreshYes
Non-Cookie StorageYes (localStorage)
Data Retention365 days

Publisher Implementation Steps

Step 1: Add Gamera to Your CMP

Add Vendor ID 1447 (Gamera, Inc.) to your Consent Management Platform's vendor list. Ensure all purposes (1–11) and Special Feature 2 are included in your consent collection.

Add the wait=1 parameter to your Gamera script URL:

html
<script 
  id="__gamera__" 
  src="https://metrics.rapidedge.io/gamera.js?wait=1&domain=yourdomain.com" 
  async>
</script>

This prevents Gamera from collecting or transmitting any data until consent is signaled.

After your CMP confirms that the user has granted consent for Gamera (Vendor ID 1447), dispatch the consent event:

javascript
// Call this ONLY after verifying consent for Gamera (Vendor 1447)
window.gamera = window.gamera || {};
window.gamera.cmd = window.gamera.cmd || [];
window.gamera.cmd.push(function() {
   const event = new Event("gamera.consentProceed");
   window.dispatchEvent(event);
});

Example: Integration with IAB TCF API

javascript
// Wait for CMP to be ready
__tcfapi('addEventListener', 2, function(tcData, success) {
  if (success && (tcData.eventStatus === 'tcloaded' || tcData.eventStatus === 'useractioncomplete')) {
    
    // Check if Gamera (Vendor 1447) has consent
    const gameraVendorId = 1447;
    const hasVendorConsent = tcData.vendor && 
                             tcData.vendor.consents && 
                             tcData.vendor.consents[gameraVendorId];
    
    // Check for Purpose 1 consent (required for any storage)
    const hasPurpose1Consent = tcData.purpose && 
                               tcData.purpose.consents && 
                               tcData.purpose.consents[1];
    
    if (hasVendorConsent && hasPurpose1Consent) {
      // User has consented - allow Gamera to proceed
      window.gamera = window.gamera || {};
      window.gamera.cmd = window.gamera.cmd || [];
      window.gamera.cmd.push(function() {
         const event = new Event("gamera.consentProceed");
         window.dispatchEvent(event);
});
    }
  }
});

Example: Integration with Google CMP API (Funding Choices)

javascript
// For Google's Consent Mode / Funding Choices
if (typeof gtag !== 'undefined') {
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'analytics_storage': 'denied',
    'wait_for_update': 500
  });
}

// Listen for consent updates
window.addEventListener('consentUpdate', function(e) {
  // Check your CMP's consent status for Gamera
  if (userHasConsentedToGamera()) {
    window.gamera = window.gamera || {};
    window.gamera.cmd = window.gamera.cmd || [];
    window.gamera.cmd.push(function() {
      const event = new Event("gamera.consentProceed");
      window.dispatchEvent(event);
});
  }
});

When wait=1 is set and consent has not been granted:

ActionBehavior
Script loads✅ Yes
Data collection❌ No
Cookie creation❌ No
localStorage access❌ No
Data transmission❌ No
Ad placement discovery❌ No

Once gamera.consentProceed is dispatched, all tracking functionality begins.


Data Collected by Gamera

For transparency, here is what Gamera collects when consent is granted:

Data CategoryExamples
Device/BrowserViewport size, device type, browser
Page DataURL, referrer, page path, scroll depth
Session DataTime on page, engaged time, pageview count
Ad PerformanceRenders, viewability, clicks, attention time, CPM
IdentifiersGamera User ID (first-party UUID), GA4 Client ID
SegmentsAudience segments, LTV scores

Storage Used by Gamera

If you are an enterprise customer, depending on the features you use, the following browser storage technologies may be used:

StorageNamePurposeDuration
Cookiegamera_user_idUser identification365 days
Cookiegamera_segtaxSegment/taxonomy cache365 days
localStorage_gameraClientSideMetricsSession metricsPersistent

For Non-EU Traffic

Other privacy laws may apply outside the EU that apply to the use of Gamera's on page script. If you are unsure about your local or international privacy compliance requirements please consult with your legal team.


Support

For questions about Gamera's GDPR compliance or TCF integration:


Designed in America 🇺🇸 and Developed in Switzerland 🇨🇭