Skip to content
trackrift

Documentation

SDK

Consent (GDPR)

consentMode, defaultConsent, CMP integration, and queued events.

AI brief: consentMode 'required': events queue until setConsent({ad_user_data:true, analytics_storage:true}). Persisted in localStorage. Universal script defaults deny-all until CMP calls setConsent.

Trackrift maps to Google Consent Mode v2-style flags. In required mode, no events leave the browser until setConsent() grants the relevant scopes.

typescript
tracker.init({
  endpoint: 'https://api.trackrift.com',
  publicId: 'YOUR_PUBLIC_ID',
  consentMode: 'required',
  defaultConsent: {
    ad_storage: false,
    ad_user_data: false,
    ad_personalization: false,
    analytics_storage: false,
  },
});

// After CMP approval (Cookiebot, OneTrust, custom banner):
tracker.setConsent({
  ad_storage: true,
  ad_user_data: true,
  ad_personalization: true,
  analytics_storage: true,
});
// Queued events flush immediately

CMP integration pattern

cmp-bridge.ts
window.addEventListener('CookiebotOnAccept', () => {
  tracker.setConsent({
    ad_storage: true,
    ad_user_data: true,
    ad_personalization: true,
    analytics_storage: true,
  });
});

Internal mode

Dashboard / authenticated SaaS apps often use consentMode: 'internal' (always send). Use 'required' only on public marketing sites with a CMP.