Google Consent Mode in APP-SDK
Google Consent Default (gcd)
async function app_google_consent_default() {
const config = {
vendors: {
ad_storage: ["adwords"],
analytics_storage: ["google_analytics_4_server-side"],
ad_user_data: ["adwords"],
ad_personalization: ["adwords"]
},
toolConsents: (function(self) {
var eventDoc = self.package.documents.filter(docs => docs.documentType === "event");
return eventDoc[0].system.consent;
})(this)
};
let googleConsentDefault = {
toolConsents: {},
consentStatus: {
ad_storage: "",
analytics_storage: "",
ad_user_data: "",
ad_personalization: ""
},
getConsentOfGCT: function(arrConfiguredVendors) {
if (arrConfiguredVendors.length > 0) {
var bConsent = "denied";
for (var vendorsCnt = 0; vendorsCnt < arrConfiguredVendors.length; vendorsCnt++) {
var bVendorConsent = this.toolConsents[arrConfiguredVendors[vendorsCnt]];
if (bVendorConsent === true) {
bConsent = "granted";
break;
}
}
return bConsent;
}
return null;
},
set: function(config) {
this.toolConsents = config.toolConsents;
for (type in this.consentStatus) {
this.consentStatus[type] = this.getConsentOfGCT(config.vendors[type]);
}
},
prepare: function(config) {
this.set(config);
let ad_storage = (this.consentStatus.ad_storage === "granted") ? "r" : "q";
let analytics_storage = (this.consentStatus.analytics_storage === "granted") ? "r" : "q";
let ad_user_data = (this.consentStatus.ad_user_data === "granted") ? "r" : "q";
let ad_personalization = (this.consentStatus.ad_personalization === "granted") ? "r" : "q";
return `13${ad_storage}3${analytics_storage}P${ad_user_data}2${ad_personalization}5l1`;
}
};
return googleConsentDefault.prepare(config);
}
Google Consent Status (gcs)
Non Personalized Ads (npa)
Digital Market Act Parameter (dma_cps)
Last updated
Was this helpful?