{ "exportFormatVersion": 2, "exportTime": "2025-07-18 10:27:45", "containerVersion": { "path": "accounts/6208046815/containers/223985780/versions/0", "accountId": "6208046815", "containerId": "223985780", "containerVersionId": "0", "container": { "path": "accounts/6208046815/containers/223985780", "accountId": "6208046815", "containerId": "223985780", "name": "Basic public template", "publicId": "GTM-M3JP3R77", "usageContext": [ "WEB" ], "fingerprint": "1751525732257", "tagManagerUrl": "https://tagmanager.google.com/#/container/accounts/6208046815/containers/223985780/workspaces?apiLink=container", "features": { "supportUserPermissions": true, "supportEnvironments": true, "supportWorkspaces": true, "supportGtagConfigs": false, "supportBuiltInVariables": true, "supportClients": false, "supportFolders": true, "supportTags": true, "supportTemplates": true, "supportTriggers": true, "supportVariables": true, "supportVersions": true, "supportZones": true, "supportTransformations": false }, "tagIds": [ "GTM-M3JP3R77" ] }, "tag": [ { "accountId": "6208046815", "containerId": "223985780", "tagId": "10", "name": "FB - Send date", "type": "cvt_223985780_8", "parameter": [ { "type": "BOOLEAN", "key": "disablePushState", "value": "false" }, { "type": "TEMPLATE", "key": "pixelId", "value": "{{FB - Pixel ID}}" }, { "type": "TEMPLATE", "key": "standardEventName", "value": "Schedule" }, { "type": "BOOLEAN", "key": "disableAutoConfig", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedEcommerce", "value": "false" }, { "type": "BOOLEAN", "key": "dpoLDU", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "standard" }, { "type": "BOOLEAN", "key": "objectPropertiesFromVariable", "value": "false" }, { "type": "BOOLEAN", "key": "consent", "value": "true" }, { "type": "BOOLEAN", "key": "advancedMatching", "value": "false" } ], "fingerprint": "1751525685201", "firingTriggerId": [ "7" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NEEDED", "consentType": { "type": "LIST", "list": [ { "type": "TEMPLATE", "value": "ad_storage" } ] } } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "27", "name": "FB Event - Purchase", "type": "cvt_223985780_8", "parameter": [ { "type": "BOOLEAN", "key": "disablePushState", "value": "false" }, { "type": "TEMPLATE", "key": "pixelId", "value": "{{FB - Pixel ID}}" }, { "type": "LIST", "key": "objectPropertyList", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "name", "value": "value" }, { "type": "TEMPLATE", "key": "value", "value": "{{DLV - Value}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "name", "value": "currency" }, { "type": "TEMPLATE", "key": "value", "value": "{{DLV - Currency}}" } ] } ] }, { "type": "TEMPLATE", "key": "standardEventName", "value": "Purchase" }, { "type": "BOOLEAN", "key": "disableAutoConfig", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedEcommerce", "value": "false" }, { "type": "BOOLEAN", "key": "dpoLDU", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "standard" }, { "type": "TEMPLATE", "key": "objectPropertiesFromVariable", "value": "{{JS - GA4 only to FB Object}}" }, { "type": "BOOLEAN", "key": "consent", "value": "true" }, { "type": "BOOLEAN", "key": "advancedMatching", "value": "false" } ], "fingerprint": "1751525685203", "firingTriggerId": [ "22" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NEEDED", "consentType": { "type": "LIST", "list": [ { "type": "TEMPLATE", "value": "ad_storage" } ] } } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "28", "name": "GA4 Event - Booking step1", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "booking_step1" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685203", "firingTriggerId": [ "14" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "31", "name": "GA4 Event - Proposal success", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "generate_lead" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685203", "firingTriggerId": [ "30" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "35", "name": "GA4 Event - All Ecomm events but purchase", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "true" }, { "type": "TEMPLATE", "key": "getEcommerceDataFrom", "value": "dataLayer" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "LIST", "key": "eventSettingsTable", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "items" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Ecommerce items}}" } ] } ] }, { "type": "TEMPLATE", "key": "eventName", "value": "{{Event}}" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685203", "firingTriggerId": [ "34" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "41", "name": "Cookiebot CMP", "type": "cvt_223985780_38", "parameter": [ { "type": "TEMPLATE", "key": "adsDataRedaction", "value": "dynamic" }, { "type": "BOOLEAN", "key": "addGeoRegion", "value": "false" }, { "type": "TEMPLATE", "key": "serial", "value": "{{Cookiebot ID}}" }, { "type": "BOOLEAN", "key": "iabFramework", "value": "false" }, { "type": "TEMPLATE", "key": "language", "value": "auto" }, { "type": "BOOLEAN", "key": "urlPassthrough", "value": "false" }, { "type": "BOOLEAN", "key": "consentModeEnabled", "value": "true" }, { "type": "TEMPLATE", "key": "waitForUpdate", "value": "2000" }, { "type": "LIST", "key": "regionSettings", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "region" }, { "type": "TEMPLATE", "key": "defaultConsentPreferences", "value": "denied" }, { "type": "TEMPLATE", "key": "defaultConsentStatistics", "value": "denied" }, { "type": "TEMPLATE", "key": "defaultConsentMarketing", "value": "denied" }, { "type": "TEMPLATE", "key": "defaultConsentMarketingAdUserData", "value": "denied" }, { "type": "TEMPLATE", "key": "defaultConsentMarketingAdPersonalization", "value": "denied" } ] } ] } ], "fingerprint": "1751525980554", "firingTriggerId": [ "2147479572" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "44", "name": "GA4 Event - Booking step2", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "booking_step2" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685217", "firingTriggerId": [ "12" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "46", "name": "FB - Loyalty sign up", "type": "cvt_223985780_8", "parameter": [ { "type": "BOOLEAN", "key": "disablePushState", "value": "false" }, { "type": "TEMPLATE", "key": "pixelId", "value": "{{FB - Pixel ID}}" }, { "type": "TEMPLATE", "key": "standardEventName", "value": "CompleteRegistration" }, { "type": "BOOLEAN", "key": "disableAutoConfig", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedEcommerce", "value": "false" }, { "type": "BOOLEAN", "key": "dpoLDU", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "standard" }, { "type": "BOOLEAN", "key": "objectPropertiesFromVariable", "value": "false" }, { "type": "BOOLEAN", "key": "consent", "value": "true" }, { "type": "BOOLEAN", "key": "advancedMatching", "value": "false" } ], "fingerprint": "1751525685217", "firingTriggerId": [ "45" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NEEDED", "consentType": { "type": "LIST", "list": [ { "type": "TEMPLATE", "value": "ad_storage" } ] } } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "53", "name": "GA4 Event - Booking step3", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "booking_step3" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685218", "firingTriggerId": [ "52" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "60", "name": "Google Ads – Microconv. Step 0", "type": "awct", "parameter": [ { "type": "BOOLEAN", "key": "enableNewCustomerReporting", "value": "false" }, { "type": "BOOLEAN", "key": "enableConversionLinker", "value": "true" }, { "type": "BOOLEAN", "key": "enableProductReporting", "value": "false" }, { "type": "BOOLEAN", "key": "enableEnhancedConversion", "value": "false" }, { "type": "TEMPLATE", "key": "conversionCookiePrefix", "value": "_gcl" }, { "type": "BOOLEAN", "key": "enableShippingData", "value": "false" }, { "type": "TEMPLATE", "key": "conversionId", "value": "{{Google Ads - Conversion ID}}" }, { "type": "TEMPLATE", "key": "conversionLabel", "value": "{{Google Ads Label - Microconv. Step 0}}" }, { "type": "BOOLEAN", "key": "rdp", "value": "false" } ], "fingerprint": "1751525685219", "firingTriggerId": [ "14", "58" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "61", "name": "GA4 Event - Booking step0", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "booking_step0" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685219", "firingTriggerId": [ "50" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "63", "name": "CU - __utmz Cookie Replicator", "type": "html", "parameter": [ { "type": "TEMPLATE", "key": "html", "value": "" }, { "type": "BOOLEAN", "key": "supportDocumentWrite", "value": "false" } ], "fingerprint": "1751525685219", "firingTriggerId": [ "2147479553" ], "tagFiringOption": "ONCE_PER_EVENT", "consentSettings": { "consentStatus": "NEEDED", "consentType": { "type": "LIST", "list": [ { "type": "TEMPLATE", "value": "functionality_storage" } ] } } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "64", "name": "Google-címke - Google Ads", "type": "googtag", "parameter": [ { "type": "TEMPLATE", "key": "tagId", "value": "{{Google Ads - Conversion ID}}" } ], "fingerprint": "1751525685219", "firingTriggerId": [ "6" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_SET" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "68", "name": "FB Event - Proposal success", "type": "cvt_223985780_8", "parameter": [ { "type": "BOOLEAN", "key": "disablePushState", "value": "false" }, { "type": "TEMPLATE", "key": "pixelId", "value": "{{FB - Pixel ID}}" }, { "type": "TEMPLATE", "key": "standardEventName", "value": "Lead" }, { "type": "BOOLEAN", "key": "disableAutoConfig", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedEcommerce", "value": "false" }, { "type": "BOOLEAN", "key": "dpoLDU", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "standard" }, { "type": "BOOLEAN", "key": "objectPropertiesFromVariable", "value": "false" }, { "type": "BOOLEAN", "key": "consent", "value": "true" }, { "type": "BOOLEAN", "key": "advancedMatching", "value": "false" } ], "fingerprint": "1751525685219", "firingTriggerId": [ "30" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NEEDED", "consentType": { "type": "LIST", "list": [ { "type": "TEMPLATE", "value": "ad_storage" } ] } } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "73", "name": "GA4 Event - Purchase", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "false" }, { "type": "LIST", "key": "eventSettingsTable", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "{{LT - Value name (MP boolean)}}" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Value}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "{{LT - Currency name (MP boolean)}}" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Currency}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "transaction_id" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Transaction ID}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "items" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Ecommerce items}}" } ] } ] }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "{{LT - Purchase name (MP boolean)}}" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685220", "firingTriggerId": [ "22" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "76", "name": "GA4 Event - Begin checkout", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "true" }, { "type": "TEMPLATE", "key": "getEcommerceDataFrom", "value": "dataLayer" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "LIST", "key": "eventSettingsTable", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "items" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Ecommerce items}}" } ] } ] }, { "type": "TEMPLATE", "key": "eventName", "value": "begin_checkout" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685221", "firingTriggerId": [ "75" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "81", "name": "FB - Base pixel", "type": "cvt_223985780_8", "parameter": [ { "type": "BOOLEAN", "key": "disablePushState", "value": "false" }, { "type": "TEMPLATE", "key": "pixelId", "value": "{{FB - Pixel ID}}" }, { "type": "TEMPLATE", "key": "standardEventName", "value": "PageView" }, { "type": "BOOLEAN", "key": "disableAutoConfig", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedEcommerce", "value": "false" }, { "type": "BOOLEAN", "key": "dpoLDU", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "standard" }, { "type": "BOOLEAN", "key": "objectPropertiesFromVariable", "value": "false" }, { "type": "BOOLEAN", "key": "consent", "value": "true" }, { "type": "BOOLEAN", "key": "advancedMatching", "value": "false" } ], "fingerprint": "1751525685221", "firingTriggerId": [ "6" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NEEDED", "consentType": { "type": "LIST", "list": [ { "type": "TEMPLATE", "value": "ad_storage" } ] } } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "82", "name": "GA4 Event - Loyalty sign up", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "LIST", "key": "userProperties", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "name", "value": "loyalty_user" }, { "type": "TEMPLATE", "key": "value", "value": "true" } ] } ] }, { "type": "TEMPLATE", "key": "eventName", "value": "sign_up" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685221", "firingTriggerId": [ "45" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "83", "name": "Google Címke - GA4", "type": "googtag", "parameter": [ { "type": "TEMPLATE", "key": "tagId", "value": "{{GA4 ID}}" }, { "type": "LIST", "key": "configSettingsTable", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "send_page_view" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "true" } ] } ] } ], "fingerprint": "1751525685221", "firingTriggerId": [ "6" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "85", "name": "Google Ads – Purchase (Booking)", "type": "awct", "parameter": [ { "type": "BOOLEAN", "key": "enableNewCustomerReporting", "value": "false" }, { "type": "BOOLEAN", "key": "enableConversionLinker", "value": "true" }, { "type": "BOOLEAN", "key": "enableProductReporting", "value": "false" }, { "type": "TEMPLATE", "key": "conversionValue", "value": "{{DLV - Value}}" }, { "type": "TEMPLATE", "key": "conversionCookiePrefix", "value": "_gcl" }, { "type": "BOOLEAN", "key": "enableShippingData", "value": "false" }, { "type": "TEMPLATE", "key": "conversionId", "value": "{{Google Ads - Conversion ID}}" }, { "type": "TEMPLATE", "key": "currencyCode", "value": "{{DLV - Currency}}" }, { "type": "TEMPLATE", "key": "conversionLabel", "value": "{{Google Ads Label - Purchase (Booking)}}" }, { "type": "BOOLEAN", "key": "rdp", "value": "false" } ], "fingerprint": "1751525685221", "firingTriggerId": [ "77", "62" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "88", "name": "FB Event - All ecommerce events", "type": "cvt_223985780_8", "parameter": [ { "type": "BOOLEAN", "key": "disablePushState", "value": "false" }, { "type": "TEMPLATE", "key": "pixelId", "value": "{{FB - Pixel ID}}" }, { "type": "TEMPLATE", "key": "variableEventName", "value": "{{LT - GA4 Events to FB Events}}" }, { "type": "BOOLEAN", "key": "disableAutoConfig", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedEcommerce", "value": "false" }, { "type": "BOOLEAN", "key": "dpoLDU", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "variable" }, { "type": "TEMPLATE", "key": "objectPropertiesFromVariable", "value": "{{JS - GA4 only to FB Object}}" }, { "type": "BOOLEAN", "key": "consent", "value": "true" }, { "type": "BOOLEAN", "key": "advancedMatching", "value": "false" } ], "fingerprint": "1751525685222", "firingTriggerId": [ "34" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NEEDED", "consentType": { "type": "LIST", "list": [ { "type": "TEMPLATE", "value": "ad_storage" } ] } } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "90", "name": "Google Ads – Purchase (Voucher purchase)", "type": "awct", "parameter": [ { "type": "BOOLEAN", "key": "enableNewCustomerReporting", "value": "false" }, { "type": "BOOLEAN", "key": "enableConversionLinker", "value": "true" }, { "type": "BOOLEAN", "key": "enableProductReporting", "value": "false" }, { "type": "TEMPLATE", "key": "conversionValue", "value": "{{DLV - Value}}" }, { "type": "BOOLEAN", "key": "enableEnhancedConversion", "value": "false" }, { "type": "TEMPLATE", "key": "conversionCookiePrefix", "value": "_gcl" }, { "type": "BOOLEAN", "key": "enableShippingData", "value": "false" }, { "type": "TEMPLATE", "key": "conversionId", "value": "{{Google Ads - Conversion ID}}" }, { "type": "TEMPLATE", "key": "currencyCode", "value": "{{DLV - Currency}}" }, { "type": "TEMPLATE", "key": "conversionLabel", "value": "{{Google Ads Label - Purchase (Voucher purchase)}}" }, { "type": "BOOLEAN", "key": "rdp", "value": "false" } ], "fingerprint": "1751525685222", "firingTriggerId": [ "43" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "91", "name": "Google Ads – Proposal success", "type": "awct", "parameter": [ { "type": "BOOLEAN", "key": "enableNewCustomerReporting", "value": "false" }, { "type": "BOOLEAN", "key": "enableConversionLinker", "value": "true" }, { "type": "BOOLEAN", "key": "enableProductReporting", "value": "false" }, { "type": "BOOLEAN", "key": "enableEnhancedConversion", "value": "false" }, { "type": "TEMPLATE", "key": "conversionCookiePrefix", "value": "_gcl" }, { "type": "BOOLEAN", "key": "enableShippingData", "value": "false" }, { "type": "TEMPLATE", "key": "conversionId", "value": "{{Google Ads - Conversion ID}}" }, { "type": "TEMPLATE", "key": "conversionLabel", "value": "{{Google Ads Label - Proposal success}}" }, { "type": "BOOLEAN", "key": "rdp", "value": "false" } ], "fingerprint": "1751525685294", "firingTriggerId": [ "30" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "94", "name": "GA4 Event - Loyalty login", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "LIST", "key": "userProperties", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "name", "value": "loyalty_user" }, { "type": "TEMPLATE", "key": "value", "value": "true" } ] } ] }, { "type": "TEMPLATE", "key": "eventName", "value": "login" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685295", "firingTriggerId": [ "93" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "98", "name": "Conversion Linker", "type": "gclidw", "parameter": [ { "type": "BOOLEAN", "key": "enableCrossDomain", "value": "false" }, { "type": "BOOLEAN", "key": "enableUrlPassthrough", "value": "false" }, { "type": "BOOLEAN", "key": "enableCookieOverrides", "value": "false" } ], "fingerprint": "1752834404976", "firingTriggerId": [ "2147479553" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } }, { "accountId": "6208046815", "containerId": "223985780", "tagId": "99", "name": "GA4 Event - Send date", "type": "gaawe", "parameter": [ { "type": "BOOLEAN", "key": "sendEcommerceData", "value": "false" }, { "type": "BOOLEAN", "key": "enhancedUserId", "value": "false" }, { "type": "TEMPLATE", "key": "eventName", "value": "send_date" }, { "type": "TEMPLATE", "key": "measurementIdOverride", "value": "{{GA4 ID}}" } ], "fingerprint": "1751525685295", "firingTriggerId": [ "7" ], "tagFiringOption": "ONCE_PER_EVENT", "monitoringMetadata": { "type": "MAP" }, "consentSettings": { "consentStatus": "NOT_NEEDED" } } ], "trigger": [ { "accountId": "6208046815", "containerId": "223985780", "triggerId": "5", "name": "Event - Send date", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "senddate" } ] } ], "fingerprint": "1751525685173" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "6", "name": "Event - Cookie consent update", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "cookie_consent_update" } ] } ], "fingerprint": "1751525685173" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "7", "name": "TG - Send date", "type": "TRIGGER_GROUP", "fingerprint": "1751525685173", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "5" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "11", "name": "Event - Booking step2", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "booking_step2" } ] } ], "fingerprint": "1751525685201" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "12", "name": "TG - Booking step2", "type": "TRIGGER_GROUP", "fingerprint": "1751525685201", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "11" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "13", "name": "Event - Booking step1", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "booking_step1" } ] } ], "fingerprint": "1751525685201" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "14", "name": "TG - Booking step1", "type": "TRIGGER_GROUP", "fingerprint": "1751525685201", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "13" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "21", "name": "Event - Purchase (All)", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "MATCH_REGEX", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "purchase|transaction_finished" } ] } ], "fingerprint": "1751525685202" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "22", "name": "TG - Purchase (All)", "type": "TRIGGER_GROUP", "fingerprint": "1751525685202", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "21" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "29", "name": "Event - Proposal success", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "generate_lead" } ] } ], "fingerprint": "1751525685203" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "30", "name": "TG - Proposal success", "type": "TRIGGER_GROUP", "fingerprint": "1751525685203", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "29" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "34", "name": "Event - All GA4 ecomm events but purchase", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "MATCH_REGEX", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "view_item_list|select_item|select_promotion|view_item|add_to_cart|add_to_wishlist|remove_from_cart|view_cart|add_shipping_info|add_payment_info|refund" } ] } ], "fingerprint": "1751525685203" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "36", "name": "Event - Loyalty sign up", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "sign_up" } ] } ], "fingerprint": "1751525685204" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "43", "name": "TG - Purchase (Voucher purchase)", "type": "TRIGGER_GROUP", "filter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{DLV - Channel}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "voucher" } ] } ], "fingerprint": "1751525685217", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "6" }, { "type": "TRIGGER_REFERENCE", "value": "21" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "45", "name": "TG - Loyalty sign up", "type": "TRIGGER_GROUP", "fingerprint": "1751525685217", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "36" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "47", "name": "Event - Loyalty login", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "MATCH_REGEX", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "login" } ] } ], "fingerprint": "1751525685217" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "48", "name": "Event - Begin checkout", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "begin_checkout" } ] } ], "fingerprint": "1751525685217" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "49", "name": "Event - Booking step0", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "booking_step0" } ] } ], "fingerprint": "1751525685218" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "50", "name": "TG - Booking step0", "type": "TRIGGER_GROUP", "fingerprint": "1751525685218", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "49" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "51", "name": "Event - Booking step3", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "booking_step3" } ] } ], "fingerprint": "1751525685218" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "52", "name": "TG - Booking step3", "type": "TRIGGER_GROUP", "fingerprint": "1751525685218", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "51" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "57", "name": "Event - Proposal step0", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "proposal_step0" } ] } ], "fingerprint": "1751525685218" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "58", "name": "TG - Proposal step0", "type": "TRIGGER_GROUP", "fingerprint": "1751525685218", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "6" }, { "type": "TRIGGER_REFERENCE", "value": "57" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "62", "name": "TG - Purchase (Book from proposal)", "type": "TRIGGER_GROUP", "filter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{DLV - Channel}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "inquiry" } ] } ], "fingerprint": "1751525685219", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "6" }, { "type": "TRIGGER_REFERENCE", "value": "21" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "69", "name": "Event - Booking steps", "type": "CUSTOM_EVENT", "customEventFilter": [ { "type": "MATCH_REGEX", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{_event}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "booking_step0|booking_step1|booking_step2|booking_step3" } ] } ], "fingerprint": "1751525685220" }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "75", "name": "TG - Begin checkout", "type": "TRIGGER_GROUP", "fingerprint": "1751525685220", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "48" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "77", "name": "TG - Purchase (Direct booking)", "type": "TRIGGER_GROUP", "filter": [ { "type": "EQUALS", "parameter": [ { "type": "TEMPLATE", "key": "arg0", "value": "{{DLV - Channel}}" }, { "type": "TEMPLATE", "key": "arg1", "value": "direct" } ] } ], "fingerprint": "1751525685221", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "6" }, { "type": "TRIGGER_REFERENCE", "value": "21" } ] } ] }, { "accountId": "6208046815", "containerId": "223985780", "triggerId": "93", "name": "TG - Loyalty login", "type": "TRIGGER_GROUP", "fingerprint": "1751525685295", "parameter": [ { "type": "LIST", "key": "triggerIds", "list": [ { "type": "TRIGGER_REFERENCE", "value": "47" }, { "type": "TRIGGER_REFERENCE", "value": "6" } ] } ] } ], "variable": [ { "accountId": "6208046815", "containerId": "223985780", "variableId": "3", "name": "GA4 ID", "type": "c", "parameter": [ { "type": "TEMPLATE", "key": "value", "value": "-" } ], "fingerprint": "1751525685172", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "4", "name": "DLV - Arrival", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "arrival" } ], "fingerprint": "1751525685173", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "9", "name": "FB - Pixel ID", "type": "c", "parameter": [ { "type": "TEMPLATE", "key": "value", "value": "-" } ], "fingerprint": "1751525685201", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "15", "name": "DLV - Children age", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "children_age" } ], "fingerprint": "1751525685202", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "16", "name": "CK - __utmzz", "type": "k", "parameter": [ { "type": "BOOLEAN", "key": "decodeCookie", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "__utmzz" } ], "fingerprint": "1751525685202" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "17", "name": "JS - Extract __utmzz Cookie Values", "type": "jsm", "parameter": [ { "type": "TEMPLATE", "key": "javascript", "value": "function() {\n \n var cookie = {{CK - __utmzz}};\n \n if (!cookie) return;\n\n var parts = cookie.split('|');\n var dict = {\n \tutmcsr: 'source',\n utmcmd: 'medium',\n utmccn: 'campaign',\n utmcct: 'content',\n utmctr: 'keyword'\n };\n var output = {};\n var part;\n var key;\n var val;\n var i;\n\n for (i = 0; i < parts.length; i++) {\n \n part = parts[i].split('=');\n key = part[0];\n val = part[1];\n \n output[dict[key]] = val;\n \n }\n\n return output;\n \n}" } ], "fingerprint": "1751525685202" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "18", "name": "JS - GA Medium", "type": "jsm", "parameter": [ { "type": "TEMPLATE", "key": "javascript", "value": "function() {\n\n return {{JS - Extract __utmzz Cookie Values}}.medium;\n\n}" } ], "fingerprint": "1751525685202" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "19", "name": "MP boolean", "type": "c", "parameter": [ { "type": "TEMPLATE", "key": "value", "value": "false" } ], "fingerprint": "1751525685202", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "20", "name": "LT - Currency name (MP boolean)", "type": "smm", "parameter": [ { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "input", "value": "{{MP boolean}}" }, { "type": "LIST", "key": "map", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "false" }, { "type": "TEMPLATE", "key": "value", "value": "currency" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "true" }, { "type": "TEMPLATE", "key": "value", "value": "mp_currency" } ] } ] } ], "fingerprint": "1751525685202", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "23", "name": "DLV - Value", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "true" }, { "type": "TEMPLATE", "key": "defaultValue", "value": "0" }, { "type": "TEMPLATE", "key": "name", "value": "ecommerce.value" } ], "fingerprint": "1751525685202", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "24", "name": "DLV - Ecommerce", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "ecommerce" } ], "fingerprint": "1751525685202", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "25", "name": "JS - GA4 only to FB Object", "type": "jsm", "parameter": [ { "type": "TEMPLATE", "key": "javascript", "value": "function() {\ntry {\nvar ecom = {{DLV - Ecommerce}};\nvar event = {{Event}};\n\t\nif(ecom['items'] && ['purchase','add_payment_info','begin_checkout','add_to_cart','view_item','add_to_wishlist'].indexOf(event) > -1) {\n\tvar items = ecom['items'];\n\tvar value = ecom.value ? ecom.value : items.reduce(function(memo, item){return memo + parseFloat(item.price*(item.quantity||1))}, 0);\n\tvar currency = ecom.currency ? ecom.currency : 'HUF';\n\tvar contents = items.map(function(item) {\n\t\treturn {\n\t\t\tid: item.item_id,\n quantity: item.quantity||1\n\t\t};\n\t});\n\tvar ecomObjectProps = {\n\t\tcontent_type: 'product',\n\t\tcontents: contents,\n\t\tvalue: value,\n\t\tcurrency: currency\n \n\t}; \n\t// num_items\n\tif (['view_cart','begin_checkout','purchase'].indexOf(event) > -1) {\n\t\tecomObjectProps.num_items = items.reduce(function(memo, item){return memo+parseInt(item.quantity)}, 0)||1;\n\t};\n\t// EXTRA - Track Item Name & Category for add_to_cart & view_item\n\tif (['add_to_cart','view_item'].indexOf(event) > -1) {\n\t\tecomObjectProps.content_name = items.map(function(item){return item.item_name}).join();\n ecomObjectProps.content_category = items.map(function(item){return item.item_category}).join();\n\t};\n\t// EXTRA - END\n}\n}\ncatch (err) {}\n\treturn ecomObjectProps;\n}" } ], "fingerprint": "1751525685202", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "26", "name": "DLV - Currency", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "true" }, { "type": "TEMPLATE", "key": "defaultValue", "value": "HUF" }, { "type": "TEMPLATE", "key": "name", "value": "ecommerce.currency" } ], "fingerprint": "1751525685202", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "32", "name": "CK - __utmz", "type": "k", "parameter": [ { "type": "BOOLEAN", "key": "decodeCookie", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "__utmz" } ], "fingerprint": "1751525685203" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "33", "name": "DLV - Ecommerce items", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "ecommerce.items" } ], "fingerprint": "1751525685203", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "37", "name": "CK - __utmzzses", "type": "k", "parameter": [ { "type": "BOOLEAN", "key": "decodeCookie", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "__utmzzses" } ], "fingerprint": "1751525685204" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "39", "name": "Cookiebot ID", "type": "c", "parameter": [ { "type": "TEMPLATE", "key": "value", "value": "-" } ], "fingerprint": "1751525685216", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "40", "name": "siteLanguage", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "true" }, { "type": "TEMPLATE", "key": "defaultValue", "value": "hu" }, { "type": "TEMPLATE", "key": "name", "value": "siteLanguage" } ], "fingerprint": "1751525685217", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "42", "name": "DLV - Channel", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "channel" } ], "fingerprint": "1751525685217", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "54", "name": "DLV - Children", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "children" } ], "fingerprint": "1751525685218", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "55", "name": "DLV - Departure", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "departure" } ], "fingerprint": "1751525685218", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "56", "name": "Google Ads Label - Microconv. Step 0", "type": "c", "parameter": [ { "type": "TEMPLATE", "key": "value", "value": "-" } ], "fingerprint": "1751525685218", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "59", "name": "Google Ads - Conversion ID", "type": "c", "parameter": [ { "type": "TEMPLATE", "key": "value", "value": "-" } ], "fingerprint": "1751525685218", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "65", "name": "Google Ads Label - Proposal success", "type": "c", "parameter": [ { "type": "TEMPLATE", "key": "value", "value": "-" } ], "fingerprint": "1751525685219", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "66", "name": "DLV - Booking ID", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "bookingID" } ], "fingerprint": "1751525685219", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "67", "name": "JS - GA source", "type": "jsm", "parameter": [ { "type": "TEMPLATE", "key": "javascript", "value": "function() {\n \n return {{JS - Extract __utmzz Cookie Values}}.source;\n \n}" } ], "fingerprint": "1751525685219", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "70", "name": "LT - Purchase name (MP boolean)", "type": "smm", "parameter": [ { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "input", "value": "{{MP boolean}}" }, { "type": "LIST", "key": "map", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "false" }, { "type": "TEMPLATE", "key": "value", "value": "purchase" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "true" }, { "type": "TEMPLATE", "key": "value", "value": "transaction_finished" } ] } ] } ], "fingerprint": "1751525685220", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "71", "name": "DLV - Transaction ID", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "ecommerce.transaction_id" } ], "fingerprint": "1751525685220", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "72", "name": "LT - Value name (MP boolean)", "type": "smm", "parameter": [ { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "input", "value": "{{MP boolean}}" }, { "type": "LIST", "key": "map", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "false" }, { "type": "TEMPLATE", "key": "value", "value": "value" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "true" }, { "type": "TEMPLATE", "key": "value", "value": "mp_value" } ] } ] } ], "fingerprint": "1751525685220", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "74", "name": "DLV - Email address", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "emailAddress" } ], "fingerprint": "1751525685220", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "78", "name": "DLV - Arrival week", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "arrival_week" } ], "fingerprint": "1751525685221", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "79", "name": "LT - GA4 Events to FB Events", "type": "smm", "parameter": [ { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "input", "value": "{{Event}}" }, { "type": "LIST", "key": "map", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "add_to_cart" }, { "type": "TEMPLATE", "key": "value", "value": "AddToCart" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "add_to_wishlist" }, { "type": "TEMPLATE", "key": "value", "value": "AddToWishlist" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "begin_checkout" }, { "type": "TEMPLATE", "key": "value", "value": "InitiateCheckout" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "gtm.dom" }, { "type": "TEMPLATE", "key": "value", "value": "PageView" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "page_view" }, { "type": "TEMPLATE", "key": "value", "value": "PageView" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "purchase" }, { "type": "TEMPLATE", "key": "value", "value": "Purchase" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "search" }, { "type": "TEMPLATE", "key": "value", "value": "Search" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "sign_up" }, { "type": "TEMPLATE", "key": "value", "value": "CompleteRegistration" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "view_item" }, { "type": "TEMPLATE", "key": "value", "value": "ViewContent" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "select_item" }, { "type": "TEMPLATE", "key": "value", "value": "ViewContent" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "key", "value": "senddate" }, { "type": "TEMPLATE", "key": "value", "value": "Schedule" } ] } ] } ], "fingerprint": "1751525685221", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "80", "name": "JS - GA Campaign", "type": "jsm", "parameter": [ { "type": "TEMPLATE", "key": "javascript", "value": "function() {\n\n return {{JS - Extract __utmzz Cookie Values}}.campaign;\n\n}" } ], "fingerprint": "1751525685221" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "84", "name": "Google Ads Label - Purchase (Booking)", "type": "c", "parameter": [ { "type": "TEMPLATE", "key": "value", "value": "-" } ], "fingerprint": "1751525685221", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "86", "name": "DLV - Phone number", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "phoneNumber" } ], "fingerprint": "1751525685222", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "87", "name": "JS - GA Keyword", "type": "jsm", "parameter": [ { "type": "TEMPLATE", "key": "javascript", "value": "function() {\n\n return {{JS - Extract __utmzz Cookie Values}}.keyword;\n\n}" } ], "fingerprint": "1751525685222" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "89", "name": "Google Ads Label - Purchase (Voucher purchase)", "type": "c", "parameter": [ { "type": "TEMPLATE", "key": "value", "value": "-" } ], "fingerprint": "1751525685222", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "92", "name": "JS - Page Domain", "type": "jsm", "parameter": [ { "type": "TEMPLATE", "key": "javascript", "value": "function() {\n \n return {{Page Hostname}}.match(/[^.]*\\.[^.]{2,3}(?:\\.[^.]{2,3})?$/)[0];\n\n}" } ], "fingerprint": "1751525685294" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "95", "name": "DLV - Rooms", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "rooms" } ], "fingerprint": "1751525685295", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "96", "name": "JS - GA Content", "type": "jsm", "parameter": [ { "type": "TEMPLATE", "key": "javascript", "value": "function() {\n\n return {{JS - Extract __utmzz Cookie Values}}.content;\n\n}" } ], "fingerprint": "1751525685295" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "97", "name": "JS - Referrer Domain", "type": "jsm", "parameter": [ { "type": "TEMPLATE", "key": "javascript", "value": "function() {\n \n if (!{{Referrer}}) return;\n \n var a = document.createElement('a');\n a.href = {{Referrer}};\n \n return a.hostname.match(/[^.]*\\.[^.]{2,3}(?:\\.[^.]{2,3})?$/)[0];\n\n}" } ], "fingerprint": "1751525685295" }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "100", "name": "DLV - Adults", "type": "v", "parameter": [ { "type": "INTEGER", "key": "dataLayerVersion", "value": "2" }, { "type": "BOOLEAN", "key": "setDefaultValue", "value": "false" }, { "type": "TEMPLATE", "key": "name", "value": "adults" } ], "fingerprint": "1751525685295", "formatValue": {} }, { "accountId": "6208046815", "containerId": "223985780", "variableId": "101", "name": "Ecommerce Event parameters", "type": "gtes", "parameter": [ { "type": "LIST", "key": "eventSettingsTable", "list": [ { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "arrival" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Arrival}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "departure" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Departure}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "arrival_week" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Arrival week}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "children" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Children}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "children_age" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Children age}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "adults" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Adults}}" } ] }, { "type": "MAP", "map": [ { "type": "TEMPLATE", "key": "parameter", "value": "rooms" }, { "type": "TEMPLATE", "key": "parameterValue", "value": "{{DLV - Rooms}}" } ] } ] } ], "fingerprint": "1751525685296" } ], "builtInVariable": [ { "accountId": "6208046815", "containerId": "223985780", "type": "PAGE_URL", "name": "Page URL" }, { "accountId": "6208046815", "containerId": "223985780", "type": "PAGE_HOSTNAME", "name": "Page Hostname" }, { "accountId": "6208046815", "containerId": "223985780", "type": "REFERRER", "name": "Referrer" }, { "accountId": "6208046815", "containerId": "223985780", "type": "EVENT", "name": "Event" } ], "fingerprint": "1752834465769", "tagManagerUrl": "https://tagmanager.google.com/#/versions/accounts/6208046815/containers/223985780/versions/0?apiLink=version", "customTemplate": [ { "accountId": "6208046815", "containerId": "223985780", "templateId": "8", "name": "Facebook Pixel", "fingerprint": "1751525685173", "templateData": "___TERMS_OF_SERVICE___\n\nBy creating or modifying this file you agree to Google Tag Manager's Community\nTemplate Gallery Developer Terms of Service available at\nhttps://developers.google.com/tag-manager/gallery-tos (or such other URL as\nGoogle may provide), as modified from time to time.\n\n\n___INFO___\n\n{\n \"displayName\": \"Facebook Pixel\",\n \"__wm\": \"VGVtcGxhdGUtQXV0aG9yX0ZhY2Vib29rLVNpbW8tQWhhdmE\\u003d\",\n \"description\": \"This is an unofficial Google Tag Manager template for the Facebook Pixel.\",\n \"securityGroups\": [],\n \"categories\": [\n \"ADVERTISING\",\n \"ANALYTICS\"\n ],\n \"id\": \"cvt_temp_public_id\",\n \"type\": \"TAG\",\n \"version\": 1,\n \"brand\": {\n \"displayName\": \"facebookarchive\",\n \"id\": \"github.com_facebookarchive\",\n \"thumbnail\": \"data:image/png;base64,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\"\n },\n \"containerContexts\": [\n \"WEB\"\n ]\n}\n\n\n___TEMPLATE_PARAMETERS___\n\n[\n {\n \"alwaysInSummary\": true,\n \"valueValidators\": [\n {\n \"errorMessage\": \"You must provide a Pixel ID\",\n \"type\": \"NON_EMPTY\"\n },\n {\n \"args\": [\n \"^[0-9,]+$\"\n ],\n \"errorMessage\": \"Invalid Pixel ID format\",\n \"type\": \"REGEX\"\n }\n ],\n \"displayName\": \"Facebook Pixel ID(s)\",\n \"simpleValueType\": true,\n \"name\": \"pixelId\",\n \"type\": \"TEXT\",\n \"valueHint\": \"e.g. 12345678910\"\n },\n {\n \"type\": \"CHECKBOX\",\n \"name\": \"enhancedEcommerce\",\n \"checkboxText\": \"Enhanced Ecommerce dataLayer Integration\",\n \"simpleValueType\": true,\n \"help\": \"If you check this, then the Facebook pixel will populate \\u003cstrong\\u003eEvent Name\\u003c/strong\\u003e and \\u003cstrong\\u003eObject Properties\\u003c/strong\\u003e automatically from the last \\u003ca href\\u003d\\\"https://developers.google.com/tag-manager/enhanced-ecommerce\\\"\\u003eecommerce\\u003c/a\\u003e object pushed into the dataLayer array.\"\n },\n {\n \"type\": \"RADIO\",\n \"name\": \"eventName\",\n \"displayName\": \"Event Name\",\n \"radioItems\": [\n {\n \"value\": \"standard\",\n \"displayValue\": \"Standard\",\n \"subParams\": [\n {\n \"type\": \"SELECT\",\n \"name\": \"standardEventName\",\n \"macrosInSelect\": false,\n \"selectItems\": [\n {\n \"displayValue\": \"PageView\",\n \"value\": \"PageView\"\n },\n {\n \"displayValue\": \"AddPaymentInfo\",\n \"value\": \"AddPaymentInfo\"\n },\n {\n \"displayValue\": \"AddToCart\",\n \"value\": \"AddToCart\"\n },\n {\n \"displayValue\": \"AddToWishlist\",\n \"value\": \"AddToWishlist\"\n },\n {\n \"displayValue\": \"CompleteRegistration\",\n \"value\": \"CompleteRegistration\"\n },\n {\n \"displayValue\": \"Contact\",\n \"value\": \"Contact\"\n },\n {\n \"displayValue\": \"CustomizeProduct\",\n \"value\": \"CustomizeProduct\"\n },\n {\n \"displayValue\": \"Donate\",\n \"value\": \"Donate\"\n },\n {\n \"displayValue\": \"FindLocation\",\n \"value\": \"FindLocation\"\n },\n {\n \"displayValue\": \"InitiateCheckout\",\n \"value\": \"InitiateCheckout\"\n },\n {\n \"displayValue\": \"Lead\",\n \"value\": \"Lead\"\n },\n {\n \"displayValue\": \"Purchase\",\n \"value\": \"Purchase\"\n },\n {\n \"displayValue\": \"Schedule\",\n \"value\": \"Schedule\"\n },\n {\n \"displayValue\": \"Search\",\n \"value\": \"Search\"\n },\n {\n \"displayValue\": \"StartTrial\",\n \"value\": \"StartTrial\"\n },\n {\n \"displayValue\": \"SubmitApplication\",\n \"value\": \"SubmitApplication\"\n },\n {\n \"displayValue\": \"Subscribe\",\n \"value\": \"Subscribe\"\n },\n {\n \"displayValue\": \"ViewContent\",\n \"value\": \"ViewContent\"\n }\n ],\n \"simpleValueType\": true,\n \"defaultValue\": \"PageView\"\n }\n ]\n },\n {\n \"value\": \"custom\",\n \"displayValue\": \"Custom\",\n \"subParams\": [\n {\n \"type\": \"TEXT\",\n \"name\": \"customEventName\",\n \"displayName\": \"\",\n \"simpleValueType\": true\n }\n ]\n },\n {\n \"value\": \"variable\",\n \"displayValue\": \"Variable\",\n \"subParams\": [\n {\n \"type\": \"SELECT\",\n \"name\": \"variableEventName\",\n \"macrosInSelect\": true,\n \"selectItems\": [],\n \"simpleValueType\": true\n }\n ]\n }\n ],\n \"simpleValueType\": true,\n \"enablingConditions\": [\n {\n \"paramName\": \"enhancedEcommerce\",\n \"paramValue\": true,\n \"type\": \"NOT_EQUALS\"\n }\n ]\n },\n {\n \"type\": \"RADIO\",\n \"name\": \"eecEventName\",\n \"displayName\": \"Event Name\",\n \"radioItems\": [\n {\n \"value\": \"eec\",\n \"displayValue\": \"Set automatically from dataLayer\"\n }\n ],\n \"simpleValueType\": true,\n \"help\": \"The Enhanced Ecommerce integration populates the Event Name automatically depending on what type of \\u003cstrong\\u003eecommerce\\u003c/strong\\u003e object was last pushed into dataLayer (\\\"detail\\\" -\\u003e \\\"ViewContent\\\", \\\"add\\\" -\\u003e \\\"AddToCart\\\", \\\"checkout\\\" -\\u003e \\\"InitiateCheckout\\\", \\\"purchase\\\" -\\u003e \\\"Purchase\\\").\",\n \"enablingConditions\": [\n {\n \"paramName\": \"enhancedEcommerce\",\n \"paramValue\": true,\n \"type\": \"EQUALS\"\n }\n ]\n },\n {\n \"type\": \"SELECT\",\n \"name\": \"consent\",\n \"displayName\": \"Consent Granted (GDPR)\",\n \"macrosInSelect\": true,\n \"selectItems\": [\n {\n \"value\": true,\n \"displayValue\": \"True\"\n },\n {\n \"value\": false,\n \"displayValue\": \"False\"\n }\n ],\n \"simpleValueType\": true,\n \"help\": \"If you set Consent Granted to \\u003cstrong\\u003efalse\\u003c/strong\\u003e, the pixel will not send any hits until a tag is fired where Consent Granted is set to \\u003cstrong\\u003etrue\\u003c/strong\\u003e. See \\u003ca href\\u003d\\\"https://developers.facebook.com/docs/facebook-pixel/implementation/gdpr/\\\"\\u003ethis article\\u003c/a\\u003e for more information.\"\n },\n {\n \"simpleValueType\": true,\n \"name\": \"advancedMatching\",\n \"checkboxText\": \"Enable Advanced Matching\",\n \"type\": \"CHECKBOX\"\n },\n {\n \"type\": \"GROUP\",\n \"name\": \"dataProcessingOptionsGroup\",\n \"displayName\": \"Data Processing Options\",\n \"groupStyle\": \"ZIPPY_CLOSED\",\n \"subParams\": [\n {\n \"type\": \"LABEL\",\n \"name\": \"dpoInfo\",\n \"displayName\": \"Data Processing Options force this Facebook event to comply to regional regulations with regard to the processing and selling of user data. Read \\u003ca href\\u003d\\\"https://developers.facebook.com/docs/marketing-apis/data-processing-options\\\"\\u003ethis\\u003c/a\\u003e for more information about how to configure this section.\"\n },\n {\n \"type\": \"CHECKBOX\",\n \"name\": \"dpoLDU\",\n \"checkboxText\": \"Limited Data Use (LDU)\",\n \"simpleValueType\": true\n },\n {\n \"type\": \"TEXT\",\n \"name\": \"dpoCountry\",\n \"displayName\": \"Country\",\n \"simpleValueType\": true,\n \"defaultValue\": 0,\n \"enablingConditions\": [\n {\n \"paramName\": \"dpoLDU\",\n \"paramValue\": true,\n \"type\": \"EQUALS\"\n }\n ],\n \"valueValidators\": [\n {\n \"type\": \"NUMBER\"\n }\n ]\n },\n {\n \"type\": \"TEXT\",\n \"name\": \"dpoState\",\n \"displayName\": \"State\",\n \"simpleValueType\": true,\n \"defaultValue\": 0,\n \"enablingConditions\": [\n {\n \"paramName\": \"dpoLDU\",\n \"paramValue\": true,\n \"type\": \"EQUALS\"\n }\n ],\n \"valueValidators\": [\n {\n \"type\": \"NUMBER\"\n }\n ]\n }\n ]\n },\n {\n \"enablingConditions\": [\n {\n \"paramName\": \"advancedMatching\",\n \"type\": \"EQUALS\",\n \"paramValue\": true\n }\n ],\n \"displayName\": \"Customer Information Data Parameters\",\n \"name\": \"advancedMatchingGroup\",\n \"groupStyle\": \"ZIPPY_CLOSED\",\n \"type\": \"GROUP\",\n \"subParams\": [\n {\n \"displayName\": \"\",\n \"name\": \"advancedMatchingList\",\n \"simpleTableColumns\": [\n {\n \"selectItems\": [\n {\n \"displayValue\": \"City\",\n \"value\": \"ct\"\n },\n {\n \"displayValue\": \"Country\",\n \"value\": \"cn\"\n },\n {\n \"displayValue\": \"Date of Birth\",\n \"value\": \"db\"\n },\n {\n \"displayValue\": \"Email\",\n \"value\": \"em\"\n },\n {\n \"displayValue\": \"External ID\",\n \"value\": \"external_id\"\n },\n {\n \"displayValue\": \"First Name\",\n \"value\": \"fn\"\n },\n {\n \"displayValue\": \"Gender\",\n \"value\": \"ge\"\n },\n {\n \"displayValue\": \"Last Name\",\n \"value\": \"ln\"\n },\n {\n \"displayValue\": \"Phone\",\n \"value\": \"ph\"\n },\n {\n \"displayValue\": \"State\",\n \"value\": \"st\"\n },\n {\n \"displayValue\": \"Zip Code\",\n \"value\": \"zp\"\n }\n ],\n \"defaultValue\": \"\",\n \"displayName\": \"Parameter name\",\n \"name\": \"name\",\n \"isUnique\": true,\n \"type\": \"SELECT\"\n },\n {\n \"defaultValue\": \"\",\n \"displayName\": \"Parameter value\",\n \"name\": \"value\",\n \"type\": \"TEXT\"\n }\n ],\n \"type\": \"SIMPLE_TABLE\",\n \"newRowButtonText\": \"Add parameter\",\n \"valueValidators\": [\n {\n \"type\": \"NON_EMPTY\"\n }\n ]\n }\n ]\n },\n {\n \"displayName\": \"Object Properties\",\n \"name\": \"objectPropertiesGroup\",\n \"groupStyle\": \"ZIPPY_CLOSED\",\n \"type\": \"GROUP\",\n \"subParams\": [\n {\n \"type\": \"LABEL\",\n \"name\": \"enhancedEcommerceObject\",\n \"displayName\": \"\\u003cstrong\\u003eWarning!\\u003c/strong\\u003e Object properties are populated automatically based on the most recent \\u003cstrong\\u003eecommerce\\u003c/strong\\u003e object pushed into dataLayer. If you add properties here that are already set by the integration (content_type, contents, num_items, value, currency), then the properties you add here will override those set automatically by the integration!\",\n \"enablingConditions\": [\n {\n \"paramName\": \"enhancedEcommerce\",\n \"paramValue\": true,\n \"type\": \"EQUALS\"\n }\n ]\n },\n {\n \"type\": \"SELECT\",\n \"name\": \"objectPropertiesFromVariable\",\n \"displayName\": \"Load Properties From Variable\",\n \"macrosInSelect\": true,\n \"selectItems\": [\n {\n \"value\": false,\n \"displayValue\": \"False\"\n }\n ],\n \"simpleValueType\": true,\n \"help\": \"You can use a variable that returns a JavaScript object with the properties you want to use. This object will be merged with any additional properties you add via the table below. Any conflicts will be resolved in favor of the properties you add to the table.\"\n },\n {\n \"name\": \"objectPropertyList\",\n \"simpleTableColumns\": [\n {\n \"valueValidators\": [],\n \"defaultValue\": \"\",\n \"displayName\": \"Property Name\",\n \"name\": \"name\",\n \"isUnique\": true,\n \"type\": \"TEXT\"\n },\n {\n \"defaultValue\": \"\",\n \"displayName\": \"Property Value\",\n \"name\": \"value\",\n \"type\": \"TEXT\"\n }\n ],\n \"type\": \"SIMPLE_TABLE\",\n \"newRowButtonText\": \"Add property\"\n }\n ]\n },\n {\n \"displayName\": \"More Settings\",\n \"name\": \"moreSettingsGroup\",\n \"groupStyle\": \"ZIPPY_CLOSED\",\n \"type\": \"GROUP\",\n \"subParams\": [\n {\n \"help\": \"Facebook collects some metadata (e.g. structured data) and user interactions (e.g. clicks) automatically. Check this box to disable this automatic configuration of the pixel.\",\n \"simpleValueType\": true,\n \"name\": \"disableAutoConfig\",\n \"checkboxText\": \"Disable Automatic Configuration\",\n \"type\": \"CHECKBOX\"\n },\n {\n \"type\": \"CHECKBOX\",\n \"name\": \"disablePushState\",\n \"checkboxText\": \"Disable History Event Tracking\",\n \"simpleValueType\": true,\n \"help\": \"The Facebook Pixel tracks history events (pushState and replaceState) automatically as PageViews. Check this box to prevent the pixel from tracking such events automatically.\"\n },\n {\n \"type\": \"TEXT\",\n \"name\": \"eventId\",\n \"displayName\": \"Event ID\",\n \"simpleValueType\": true,\n \"help\": \"Set the Event ID parameter in case you are tracking the same event server-side as well. The Event ID can be used to deduplicate the same event if sent from multiple sources. See more \\u003ca href\\u003d\\\"https://developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events/\\\"\\u003ehere\\u003c/a\\u003e.\"\n }\n ]\n }\n]\n\n\n___SANDBOXED_JS_FOR_WEB_TEMPLATE___\n\nconst createQueue = require('createQueue');\nconst callInWindow = require('callInWindow');\nconst aliasInWindow = require('aliasInWindow');\nconst copyFromWindow = require('copyFromWindow');\nconst setInWindow = require('setInWindow');\nconst injectScript = require('injectScript');\nconst makeTableMap = require('makeTableMap');\nconst makeNumber = require('makeNumber');\nconst getType = require('getType');\nconst copyFromDataLayer = require('copyFromDataLayer');\nconst math = require('Math');\nconst log = require('logToConsole');\n\nconst initIds = copyFromWindow('_fbq_gtm_ids') || [];\nconst pixelIds = data.pixelId;\nconst standardEventNames = ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'CompleteRegistration', 'Contact', 'CustomizeProduct', 'Donate', 'FindLocation', 'InitiateCheckout', 'Lead', 'PageView', 'Purchase', 'Schedule', 'Search', 'StartTrial', 'SubmitApplication', 'Subscribe', 'ViewContent'];\nconst ecommerce = copyFromDataLayer('ecommerce', 1);\n\n// Helper methods\nconst fail = msg => {\n log(msg);\n data.gtmOnFailure();\n};\n\nconst mergeObj = (obj, obj2) => {\n for (let key in obj2) {\n if (obj2.hasOwnProperty(key)) {\n obj[key] = obj2[key];\n }\n }\n return obj;\n};\n\nconst parseEecObj = prod => {\n return {\n id: prod.id,\n quantity: prod.quantity\n };\n};\n\n// Initialize EEC integration\nlet eventName, action, eecObjectProps;\nif (data.enhancedEcommerce) {\n if (!ecommerce) return fail('Facebook Pixel: No valid \"ecommerce\" object found in dataLayer');\n if (ecommerce.detail) { eventName = 'ViewContent'; action = 'detail'; }\n else if (ecommerce.add) { eventName = 'AddToCart'; action = 'add'; }\n else if (ecommerce.checkout) { eventName = 'InitiateCheckout'; action = 'checkout'; }\n else if (ecommerce.purchase) { eventName = 'Purchase'; action = 'purchase'; }\n else return fail('Facebook Pixel: Most recently pushed \"ecommerce\" object must be one of types \"detail\", \"add\", \"checkout\" or \"purchase\".');\n \n if (!ecommerce[action].products || getType(ecommerce[action].products) !== 'array') return fail('Facebook pixel: Most recently pushed \"ecommerce\" object did not have a valid \"products\" array.');\n eecObjectProps = {\n content_type: 'product',\n contents: ecommerce[action].products.map(parseEecObj),\n value: ecommerce[action].products.reduce((acc, cur) => {\n const curVal = math.round(makeNumber(cur.price || 0) * (cur.quantity || 1) * 100) / 100;\n return acc + curVal;\n }, 0.0),\n currency: ecommerce.currencyCode || 'USD'\n };\n if (['InitiateCheckout', 'Purchase'].indexOf(eventName) > -1) eecObjectProps.num_items = ecommerce[action].products.reduce((acc,cur) => {\n return acc + makeNumber(cur.quantity || 1);\n }, 0);\n}\n\n// Build the fbq() command arguments\nconst cidParams = data.advancedMatchingList && data.advancedMatchingList.length ? makeTableMap(data.advancedMatchingList, 'name', 'value') : {};\nconst objectProps = data.objectPropertyList && data.objectPropertyList.length ? makeTableMap(data.objectPropertyList, 'name', 'value') : {};\nconst objectPropsFromVar = getType(data.objectPropertiesFromVariable) === 'object' ? data.objectPropertiesFromVariable : {};\nconst mergedObjectProps = mergeObj(objectPropsFromVar, objectProps);\nconst finalObjectProps = mergeObj(eecObjectProps || {}, mergedObjectProps);\neventName = eventName || (data.eventName === 'custom' ? data.customEventName : (data.eventName === 'variable' ? data.variableEventName : data.standardEventName));\n\nconst command = standardEventNames.indexOf(eventName) === -1 ? 'trackSingleCustom' : 'trackSingle';\nconst consent = data.consent === false ? 'revoke' : 'grant';\n\n// Utility function to use either fbq.queue[]\n// (if the FB SDK hasn't loaded yet), or fbq.callMethod()\n// if the SDK has loaded.\nconst getFbq = () => {\n // Return the existing 'fbq' global method if available\n let fbq = copyFromWindow('fbq');\n if (fbq) {\n return fbq;\n }\n \n // Initialize the 'fbq' global method to either use\n // fbq.callMethod or fbq.queue)\n setInWindow('fbq', function() { \n const callMethod = copyFromWindow('fbq.callMethod.apply');\n if (callMethod) { \n callInWindow('fbq.callMethod.apply', null, arguments); \n } else { \n callInWindow('fbq.queue.push', arguments);\n }\n });\n aliasInWindow('_fbq', 'fbq');\n \n // Create the fbq.queue\n createQueue('fbq.queue');\n \n // Return the global 'fbq' method, created above\n return copyFromWindow('fbq');\n};\n\n// Get reference to the global method\nconst fbq = getFbq();\n\nfbq('consent', consent);\n\n // Set Data Processing Options\nif (data.dpoLDU) {\n fbq('dataProcessingOptions', ['LDU'], makeNumber(data.dpoCountry), makeNumber(data.dpoState));\n}\n\n// Handle multiple, comma-separated pixel IDs,\n// and initialize each ID if not done already.\npixelIds.split(',').forEach(pixelId => {\n if (initIds.indexOf(pixelId) === -1) {\n \n // If the user has chosen to disable automatic configuration\n if (data.disableAutoConfig) {\n fbq('set', 'autoConfig', false, pixelId);\n }\n \n // If the user has chosen to disable pushState and replaceState tracking\n if (data.disablePushState) {\n setInWindow('fbq.disablePushState', true);\n }\n \t\n \n // Initialize pixel and store in global array\n fbq('init', pixelId, cidParams);\n\n // Monitoring agent string for Tag Setup\n fbq('set','agent','tmSimo-GTM-WebTemplate', pixelId);\n\n initIds.push(pixelId);\n setInWindow('_fbq_gtm_ids', initIds, true);\n \n }\n\n // Call the fbq() method with the parameters defined earlier\n if (data.eventId) {\n fbq(command, pixelId, eventName, finalObjectProps, {eventID: data.eventId});\n } else {\n fbq(command, pixelId, eventName, finalObjectProps);\n }\n});\n\ninjectScript('https://connect.facebook.net/en_US/fbevents.js', data.gtmOnSuccess, data.gtmOnFailure, 'fbPixel');\n\n\n___WEB_PERMISSIONS___\n\n[\n {\n \"instance\": {\n \"key\": {\n \"publicId\": \"access_globals\",\n \"versionId\": \"1\"\n },\n \"param\": [\n {\n \"key\": \"keys\",\n \"value\": {\n \"type\": 2,\n \"listItem\": [\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"key\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n },\n {\n \"type\": 1,\n \"string\": \"execute\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"fbq\"\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": false\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"key\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n },\n {\n \"type\": 1,\n \"string\": \"execute\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"_fbq_gtm\"\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": false\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"key\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n },\n {\n \"type\": 1,\n \"string\": \"execute\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"_fbq\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": false\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"key\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n },\n {\n \"type\": 1,\n \"string\": \"execute\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"_fbq_gtm_ids\"\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": false\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"key\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n },\n {\n \"type\": 1,\n \"string\": \"execute\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"fbq.callMethod.apply\"\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"key\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n },\n {\n \"type\": 1,\n \"string\": \"execute\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"fbq.queue.push\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"key\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n },\n {\n \"type\": 1,\n \"string\": \"execute\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"fbq.queue\"\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": false\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"key\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n },\n {\n \"type\": 1,\n \"string\": \"execute\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"fbq.disablePushState\"\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": true\n },\n {\n \"type\": 8,\n \"boolean\": false\n }\n ]\n }\n ]\n }\n }\n ]\n },\n \"clientAnnotations\": {\n \"isEditedByUser\": true\n },\n \"isRequired\": true\n },\n {\n \"instance\": {\n \"key\": {\n \"publicId\": \"inject_script\",\n \"versionId\": \"1\"\n },\n \"param\": [\n {\n \"key\": \"urls\",\n \"value\": {\n \"type\": 2,\n \"listItem\": [\n {\n \"type\": 1,\n \"string\": \"https://connect.facebook.net/en_US/fbevents.js\"\n }\n ]\n }\n }\n ]\n },\n \"clientAnnotations\": {\n \"isEditedByUser\": true\n },\n \"isRequired\": true\n },\n {\n \"instance\": {\n \"key\": {\n \"publicId\": \"logging\",\n \"versionId\": \"1\"\n },\n \"param\": [\n {\n \"key\": \"environments\",\n \"value\": {\n \"type\": 1,\n \"string\": \"debug\"\n }\n }\n ]\n },\n \"isRequired\": true\n },\n {\n \"instance\": {\n \"key\": {\n \"publicId\": \"read_data_layer\",\n \"versionId\": \"1\"\n },\n \"param\": [\n {\n \"key\": \"keyPatterns\",\n \"value\": {\n \"type\": 2,\n \"listItem\": [\n {\n \"type\": 1,\n \"string\": \"ecommerce\"\n }\n ]\n }\n }\n ]\n },\n \"clientAnnotations\": {\n \"isEditedByUser\": true\n },\n \"isRequired\": true\n }\n]\n\n\n___TESTS___\n\nscenarios:\n- name: Library is injected\n code: |-\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('injectScript').wasCalledWith(scriptUrl, success, failure, 'fbPixel');\n assertApi('gtmOnSuccess').wasCalled();\n- name: fbq does not exist - method created\n code: |-\n let fbq;\n\n mock('copyFromWindow', key => {\n if (key === 'fbq') return fbq;\n });\n\n mock('createQueue', key => {});\n\n mock('setInWindow', (key, val) => {\n if (key === 'fbq') fbq = val;\n });\n\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('aliasInWindow').wasCalledWith('_fbq', 'fbq');\n assertApi('setInWindow').wasCalled();\n assertApi('gtmOnSuccess').wasCalled();\n- name: fbq exists - method copied\n code: |-\n mock('setInWindow', key => {\n if (key === 'fbq') fail('setInWindow called with fbq even though variable exists');\n });\n\n mock('createQueue', key => {});\n\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('gtmOnSuccess').wasCalled();\n- name: makeTableMap called\n code: |-\n mockData.advancedMatching = true;\n\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('makeTableMap').wasCalledWith(mockData.advancedMatchingList, 'name', 'value');\n assertApi('makeTableMap').wasCalledWith(mockData.objectPropertyList, 'name', 'value');\n assertApi('gtmOnSuccess').wasCalled();\n- name: Consent set\n code: |-\n mock('copyFromWindow', key => {\n if (key === 'fbq') return function() {\n if (arguments[0] === 'consent') {\n assertThat(arguments[1], 'Consent set incorrectly').isEqualTo('grant');\n }\n };\n });\n\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('gtmOnSuccess').wasCalled();\n- name: DPO LDU set\n code: |-\n mockData.dpoLDU = true;\n mockData.dpoCountry = '0';\n mockData.dpoState = '0';\n\n mock('copyFromWindow', key => {\n if (key === 'fbq') return function() {\n if (arguments[0] === 'consent') {\n assertThat(arguments[1], 'Consent set incorrectly').isEqualTo('grant');\n }\n if (arguments[0] === 'dataProcessingOptions') {\n assertThat(arguments[1], 'LDU array value not set').isEqualTo(['LDU']);\n assertThat(arguments[2], 'LDU country not set').isEqualTo(0);\n assertThat(arguments[3], 'LDU state not set').isEqualTo(0);\n }\n };\n });\n\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('gtmOnSuccess').wasCalled();\n- name: DPO LDU not set\n code: |-\n mock('copyFromWindow', key => {\n if (key === 'fbq') return function() {\n if (arguments[0] === 'consent') {\n assertThat(arguments[1], 'Consent set incorrectly').isEqualTo('grant');\n }\n if (arguments[0] === 'dataProcessingOptions') {\n fail('dataProcessingOptions called even though DPO was not set');\n }\n };\n });\n\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('gtmOnSuccess').wasCalled();\n- name: Pixel IDs set - do not initialize\n code: |-\n mock('copyFromWindow', key => {\n if (key === '_fbq_gtm_ids') return ['12345', '23456'];\n if (key === 'fbq') return function() {\n if (arguments[0] === 'init') fail('init called even though pixel IDs already initialized');\n };\n });\n\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('gtmOnSuccess').wasCalled();\n- name: Pixel IDs not set - run init process\n code: \"let index = 0;\\nlet count = 0;\\nlet _fbq_gtm_ids;\\n\\nmockData.advancedMatching\\\n \\ = true;\\nmockData.disableAutoConfig = true;\\nmockData.disablePushState = true;\\n\\\n \\nmock('setInWindow', (key, val) => {\\n if (key === 'fbq.disablePushState') count\\\n \\ += 1;\\n if (key === '_fbq_gtm_ids') _fbq_gtm_ids = val;\\n});\\n\\nconst initObj\\\n \\ = {\\n ct: 'Helsinki',\\n cn: 'Finland',\\n external_id: 'UserId'\\n};\\n\\nmock('copyFromWindow',\\\n \\ key => {\\n if (key === 'fbq') return function() {\\n if (arguments[0] ===\\\n \\ 'set' && arguments[1] === 'autoConfig' && arguments[2] === false) {\\n assertThat(arguments[3],\\\n \\ 'autoConfig called with incorrect pixelId').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ }\\n if (arguments[0] === 'set' && arguments[1] === 'agent') {\\n assertThat(arguments[2],\\\n \\ 'agent set with invalid value').isEqualTo('tmSimo-GTM-WebTemplate');\\n \\\n \\ assertThat(arguments[3], 'agent set with invalid pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ index += 1;\\n }\\n if (arguments[0] === 'init') {\\n assertThat(arguments[1],\\\n \\ 'init called with incorrect pixelId').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'init called with incorrect initObj').isEqualTo(initObj);\\n\\\n \\ } \\n };\\n});\\n\\n// Call runCode to run the template's code.\\nrunCode(mockData);\\n\\\n \\nassertThat(_fbq_gtm_ids, '_fbq_gtm_ids has incorrect contents').isEqualTo(mockData.pixelId.split(','));\\n\\\n assertThat(index, 'init called incorrect number of times: ' + index).isEqualTo(2);\\n\\\n assertThat(count, 'fbq.disablePushState called incorrect number of times: ' +\\\n \\ count).isEqualTo(2);\\n\\n// Verify that the tag finished successfully.\\nassertApi('gtmOnSuccess').wasCalled();\"\n- name: Send standard event\n code: \"const eventParams = {\\n prop1: 'val1',\\n prop2: 'val2'\\n};\\n\\nlet index\\\n \\ = 0;\\nmock('copyFromWindow', key => {\\n if (key === 'fbq') return function()\\\n \\ {\\n if (arguments[0] === 'trackSingle') {\\n assertThat(arguments[1],\\\n \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo(mockData.standardEventName);\\n\\\n \\ assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(eventParams);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Send custom event\n code: \"mockData.eventName = 'custom';\\n\\nconst eventParams = {\\n prop1: 'val1',\\n\\\n \\ prop2: 'val2'\\n};\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n if\\\n \\ (key === 'fbq') return function() {\\n if (arguments[0] === 'trackSingleCustom')\\\n \\ {\\n assertThat(arguments[1], 'trackSingleCustom called with incorrect pixel\\\n \\ ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n assertThat(arguments[2],\\\n \\ 'trackSingleCustom called with incorrect event name').isEqualTo(mockData.customEventName);\\n\\\n \\ assertThat(arguments[3], 'trackSingleCustom called with incorrect event\\\n \\ parameters').isEqualTo(eventParams);\\n index += 1;\\n }\\n };\\n});\\n\\\n \\ \\n// Call runCode to run the template's code.\\nrunCode(mockData);\\n\\n//\\\n \\ Verify that the tag finished successfully.\\nassertThat(index, 'trackSingleCustom\\\n \\ called incorrect number of times').isEqualTo(2);\\nassertApi('gtmOnSuccess').wasCalled();\"\n- name: Send variable event with standard name\n code: \"mockData.eventName = 'variable';\\nmockData.variableEventName = 'PageView';\\n\\\n \\nconst eventParams = {\\n prop1: 'val1',\\n prop2: 'val2'\\n};\\n\\nlet index =\\\n \\ 0;\\nmock('copyFromWindow', key => {\\n if (key === 'fbq') return function()\\\n \\ {\\n if (arguments[0] === 'trackSingle') {\\n assertThat(arguments[1],\\\n \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo(mockData.variableEventName);\\n\\\n \\ assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(eventParams);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Send variable event with custom name\n code: \"mockData.eventName = 'variable';\\nmockData.variableEventName = 'custom';\\n\\\n \\nconst eventParams = {\\n prop1: 'val1',\\n prop2: 'val2'\\n};\\n\\nlet index =\\\n \\ 0;\\nmock('copyFromWindow', key => {\\n if (key === 'fbq') return function()\\\n \\ {\\n if (arguments[0] === 'trackSingleCustom') {\\n assertThat(arguments[1],\\\n \\ 'trackSingleCustom called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingleCustom called with incorrect event\\\n \\ name').isEqualTo(mockData.variableEventName);\\n assertThat(arguments[3],\\\n \\ 'trackSingleCustom called with incorrect event parameters').isEqualTo(eventParams);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingleCustom called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Send event parameters from a variable\n code: \"mockData.objectPropertiesFromVariable = {\\n prop1: 'val1',\\n prop2: 'val2'\\n\\\n };\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n if (key === 'fbq') return\\\n \\ function() {\\n if (arguments[0] === 'trackSingle') {\\n assertThat(arguments[1],\\\n \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo(mockData.standardEventName);\\n\\\n \\ assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockData.objectPropertiesFromVariable);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Enhanced Ecommerce integration fails with invalid object\n code: |-\n mockData.enhancedEcommerce = true;\n\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('logToConsole').wasCalledWith('Facebook Pixel: No valid \"ecommerce\" object found in dataLayer');\n assertApi('gtmOnFailure').wasCalled();\n assertApi('gtmOnSuccess').wasNotCalled();\n- name: Enhanced Ecommerce integration fails with invalid action\n code: |-\n mockData.enhancedEcommerce = true;\n\n mock('copyFromDataLayer', key => {\n if (key === 'ecommerce') return {\n invalid: true\n };\n });\n\n // Call runCode to run the template's code.\n runCode(mockData);\n\n // Verify that the tag finished successfully.\n assertApi('logToConsole').wasCalledWith('Facebook Pixel: Most recently pushed \"ecommerce\" object must be one of types \"detail\", \"add\", \"checkout\" or \"purchase\".');\n assertApi('gtmOnFailure').wasCalled();\n assertApi('gtmOnSuccess').wasNotCalled();\n- name: Enhanced Ecommerce ViewContent works\n code: \"mockData.enhancedEcommerce = true;\\nmockData.objectPropertyList = {};\\n\\n\\\n mock('copyFromDataLayer', key => {\\n if (key === 'ecommerce') return {\\n currencyCode:\\\n \\ 'EUR',\\n detail: {\\n products: mockEec.gtm.products\\n }\\n };\\n});\\n\\\n \\nlet index = 0;\\nmock('copyFromWindow', key => {\\n if (key === 'fbq') return\\\n \\ function() {\\n if (arguments[0] === 'trackSingle') {\\n assertThat(arguments[1],\\\n \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('ViewContent');\\n\\\n \\ assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Enhanced Ecommerce AddToCart works\n code: \"mockData.enhancedEcommerce = true;\\nmockData.objectPropertyList = {};\\n\\n\\\n mock('copyFromDataLayer', key => {\\n if (key === 'ecommerce') return {\\n currencyCode:\\\n \\ 'EUR',\\n add: {\\n products: mockEec.gtm.products\\n }\\n };\\n});\\n\\\n \\nlet index = 0;\\nmock('copyFromWindow', key => {\\n if (key === 'fbq') return\\\n \\ function() {\\n if (arguments[0] === 'trackSingle') {\\n assertThat(arguments[1],\\\n \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('AddToCart');\\n\\\n \\ assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Enhanced Ecommerce InitiateCheckout works\n code: \"mockData.enhancedEcommerce = true;\\nmockEec.fb.num_items = 3;\\nmockData.objectPropertyList\\\n \\ = {};\\n\\nmock('copyFromDataLayer', key => {\\n if (key === 'ecommerce') return\\\n \\ {\\n currencyCode: 'EUR',\\n checkout: {\\n products: mockEec.gtm.products\\n\\\n \\ }\\n };\\n});\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n if (key\\\n \\ === 'fbq') return function() {\\n if (arguments[0] === 'trackSingle') {\\n\\\n \\ assertThat(arguments[1], 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('InitiateCheckout');\\n\\\n \\ assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Enhanced Ecommerce Purchase works\n code: \"mockData.enhancedEcommerce = true;\\nmockEec.fb.num_items = 3;\\nmockData.objectPropertyList\\\n \\ = {};\\n\\nmock('copyFromDataLayer', key => {\\n if (key === 'ecommerce') return\\\n \\ {\\n currencyCode: 'EUR',\\n purchase: {\\n products: mockEec.gtm.products\\n\\\n \\ }\\n };\\n});\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n if (key\\\n \\ === 'fbq') return function() {\\n if (arguments[0] === 'trackSingle') {\\n\\\n \\ assertThat(arguments[1], 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('Purchase');\\n\\\n \\ assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Object merge with variable and list works\n code: \"mockData.objectPropertiesFromVariable = {\\n prop1: 'var1',\\n prop2: 'var2',\\n\\\n \\ prop3: 'var3'\\n};\\n\\nconst expected = {\\n prop1: 'val1',\\n prop2: 'val2',\\n\\\n \\ prop3: 'var3'\\n};\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n if\\\n \\ (key === 'fbq') return function() {\\n if (arguments[0] === 'trackSingle')\\\n \\ {\\n assertThat(arguments[1], 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('PageView');\\n\\\n \\ assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(expected);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Object merge with variable, list and eec works\n code: \"mockData.enhancedEcommerce = true;\\nmockData.objectPropertiesFromVariable\\\n \\ = {\\n content_type: 'product_group'\\n};\\nmockData.objectPropertyList = [{\\n\\\n \\ name: 'currency',\\n value: 'USD'\\n}];\\nmockEec.fb.num_items = 3;\\nmockEec.fb.content_type\\\n \\ = 'product_group';\\nmockEec.fb.currency = 'USD';\\n\\nmock('copyFromDataLayer',\\\n \\ key => {\\n if (key === 'ecommerce') return {\\n currencyCode: 'EUR',\\n \\\n \\ purchase: {\\n products: mockEec.gtm.products\\n }\\n };\\n});\\n\\nlet\\\n \\ index = 0;\\nmock('copyFromWindow', key => {\\n if (key === 'fbq') return function()\\\n \\ {\\n if (arguments[0] === 'trackSingle') {\\n assertThat(arguments[1],\\\n \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n \\ assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('Purchase');\\n\\\n \\ assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n \\ index += 1;\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\n- name: Send event ID\n code: \"mockData.eventId = 'eventId';\\n\\nmock('copyFromWindow', key => {\\n if (key\\\n \\ === 'fbq') return function() {\\n if (arguments[0] === 'trackSingle') {\\n\\\n \\ assertThat(arguments[4], 'eventID not included in hit').isEqualTo({eventID:\\\n \\ mockData.eventId});\\n }\\n };\\n});\\n \\n// Call runCode to run the template's\\\n \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n assertApi('gtmOnSuccess').wasCalled();\"\nsetup: \"const mockData = {\\n pixelId: '12345,23456',\\n eventName: 'standard',\\n\\\n \\ standardEventName: 'PageView',\\n customEventName: 'custom',\\n variableEventName:\\\n \\ 'standard',\\n consent: true,\\n advancedMatching: false,\\n advancedMatchingList:\\\n \\ [{name: 'ct', value: 'Helsinki'},{name: 'cn', value: 'Finland'},{name: 'external_id',\\\n \\ value: 'UserId'}],\\n objectPropertiesFromVariable: false,\\n objectPropertyList:\\\n \\ [{name: 'prop1', value: 'val1'},{name: 'prop2', value: 'val2'}],\\n disableAutoConfig:\\\n \\ false,\\n disablePushState: false,\\n enhancedEcommerce: false,\\n eventId: ''\\n\\\n };\\n\\nconst mockEec = {\\n gtm: { \\n products: [{\\n id: 'i1',\\n name:\\\n \\ 'n1',\\n category: 'c1',\\n price: '1.00',\\n quantity: 1\\n },{\\n\\\n \\ id: 'i2',\\n name: 'n2',\\n category: 'c2',\\n price: '2.00',\\n\\\n \\ quantity: 2\\n }]\\n },\\n fb: {\\n content_type: 'product',\\n contents:\\\n \\ [{\\n id: 'i1',\\n quantity: 1\\n },{\\n id: 'i2',\\n quantity:\\\n \\ 2\\n }],\\n currency: 'EUR',\\n value: 5.00\\n }\\n};\\n\\nconst scriptUrl\\\n \\ = 'https://connect.facebook.net/en_US/fbevents.js';\\n\\n// Create injectScript\\\n \\ mock\\nlet success, failure;\\nmock('injectScript', (url, onsuccess, onfailure)\\\n \\ => {\\n success = onsuccess;\\n failure = onfailure;\\n onsuccess();\\n});\\n\\n\\\n mock('copyFromWindow', key => {\\n if (key === 'fbq') return () => {};\\n});\"\n\n\n___NOTES___\n\nCreated on 18/05/2019, 21:57:16\n\n\n", "galleryReference": { "host": "github.com", "owner": "facebookarchive", "repository": "GoogleTagManager-WebTemplate-For-FacebookPixel", "version": "11c004614f6b8f7cc999caabef521086116ce302", "signature": "de30f66e675f24ef8640cea7175b615c94807fa8f027929f94c3d0b45a520d86" } }, { "accountId": "6208046815", "containerId": "223985780", "templateId": "38", "name": "Cookiebot CMP", "fingerprint": "1751525685204", "templateData": "___TERMS_OF_SERVICE___\n\nBy creating or modifying this file you agree to Google Tag Manager's Community\nTemplate Gallery Developer Terms of Service available at\nhttps://developers.google.com/tag-manager/gallery-tos (or such other URL as\nGoogle may provide), as modified from time to time.\n\n\n___INFO___\n\n{\n \"displayName\": \"Cookiebot CMP\",\n \"description\": \"Cookiebot is a Consent Management Platform (CMP) that helps make your use of cookies and online tracking compliant with data protection legislations like GDPR and CCPA. More on https://cookiebot.com.\",\n \"categories\": [\n \"TAG_MANAGEMENT\",\n \"PERSONALIZATION\"\n ],\n \"securityGroups\": [],\n \"id\": \"cookiebot\",\n \"type\": \"TAG\",\n \"version\": 1,\n \"brand\": {\n \"thumbnail\": \"data:image/png;base64,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\",\n \"displayName\": \"cybotcorp\",\n \"id\": \"github.com_cybotcorp\"\n },\n \"containerContexts\": [\n \"WEB\"\n ]\n}\n\n\n___TEMPLATE_PARAMETERS___\n\n[\n {\n \"notSetText\": \"Please enter the \\u0027Domain Group ID\\u0027 found under the tab named \\u0027Your Scripts\\u0027 in Cookiebot in the format \\u0027XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\\u0027\",\n \"help\": \"Create an account on Cookiebot.com and copy \\u0027Domain Group ID\\u0027 from the tab \\u0027Your Scripts\\u0027 in Cookiebot.\",\n \"valueValidators\": [\n {\n \"args\": [\n \"^(\\\\{){0,1}[0-9a-fA-F]{8}\\\\-[0-9a-fA-F]{4}\\\\-[0-9a-fA-F]{4}\\\\-[0-9a-fA-F]{4}\\\\-[0-9a-fA-F]{12}(\\\\}){0,1}$\"\n ],\n \"type\": \"REGEX\"\n },\n {\n \"type\": \"NON_EMPTY\"\n }\n ],\n \"displayName\": \"Cookiebot ID\",\n \"simpleValueType\": true,\n \"name\": \"serial\",\n \"type\": \"TEXT\",\n \"valueHint\": \"Your Cookiebot Domain Group ID\"\n },\n {\n \"help\": \"Select how Cookiebot determines the language of the consent banner.\",\n \"selectItems\": [\n {\n \"displayValue\": \"Default (auto-detect)\",\n \"value\": \"auto\"\n },\n {\n \"displayValue\": \"By GTM variable\",\n \"value\": \"variable\"\n }\n ],\n \"displayName\": \"Language\",\n \"simpleValueType\": true,\n \"name\": \"language\",\n \"type\": \"SELECT\"\n },\n {\n \"help\": \"Select a variable that returns a two-letter ISO 639-1 language code, e.g. from current URL. In Cookiebot, create matching content versions for all languages supported on your site.\",\n \"enablingConditions\": [\n {\n \"paramName\": \"language\",\n \"type\": \"EQUALS\",\n \"paramValue\": \"variable\"\n }\n ],\n \"valueValidators\": [\n {\n \"type\": \"NON_EMPTY\"\n }\n ],\n \"displayName\": \"Language Variable\",\n \"simpleValueType\": true,\n \"name\": \"languageVariable\",\n \"type\": \"TEXT\"\n },\n {\n \"type\": \"CHECKBOX\",\n \"name\": \"addGeoRegion\",\n \"checkboxText\": \"Add Geo Region(s)\",\n \"simpleValueType\": true,\n \"help\": \"Add regions where a different banner than the default should be displayed.\"\n },\n {\n \"type\": \"GROUP\",\n \"name\": \"Geo Region\",\n \"displayName\": \"Geo Regions\",\n \"groupStyle\": \"NO_ZIPPY\",\n \"subParams\": [\n {\n \"type\": \"SIMPLE_TABLE\",\n \"name\": \"geoRegions\",\n \"simpleTableColumns\": [\n {\n \"defaultValue\": \"\",\n \"displayName\": \"Region\",\n \"name\": \"altRegion\",\n \"type\": \"TEXT\",\n \"valueValidators\": [\n {\n \"type\": \"REGEX\",\n \"args\": [\n \"^([a-zA-Z]{2}(-[0-9]{2})?(, ?)?)+$\"\n ],\n \"errorMessage\": \"Must be a region ISO code, for example: \\\"us-06\\\" or \\\"gb\\\"\"\n }\n ],\n \"valueHint\": \"DE, DK, AT, US-06\"\n },\n {\n \"defaultValue\": \"\",\n \"displayName\": \"Domain Group ID\",\n \"name\": \"altCbid\",\n \"type\": \"TEXT\",\n \"valueValidators\": [\n {\n \"type\": \"REGEX\",\n \"args\": [\n \"^[\\\\dA-Fa-f]{8}(-[\\\\dA-Fa-f]{4}){3}-[\\\\dA-Fa-f]{12}$\"\n ],\n \"errorMessage\": \"Must resemble \\\"01234567-89ab-cdef-0123-456789abcdef\\\"\"\n }\n ],\n \"valueHint\": \"Your Cookiebot Domain Group ID\"\n }\n ]\n }\n ],\n \"enablingConditions\": [\n {\n \"paramName\": \"addGeoRegion\",\n \"paramValue\": true,\n \"type\": \"EQUALS\"\n }\n ]\n },\n {\n \"type\": \"CHECKBOX\",\n \"name\": \"consentModeEnabled\",\n \"checkboxText\": \"Enable Google Consent Mode\",\n \"simpleValueType\": true,\n \"defaultValue\": true,\n \"help\": \"Enable Consent Mode if one or more of your tags rely on Google\\u0027s consent API. Cookiebot will then automatically signal the user\\u0027s consent to these tags.\",\n \"alwaysInSummary\": true\n },\n {\n \"type\": \"CHECKBOX\",\n \"name\": \"iabFramework\",\n \"checkboxText\": \"Enable IAB Transparency and Consent Framework\",\n \"simpleValueType\": true,\n \"help\": \"Enable IAB Europe\\u0027s Transparency \\u0026 Consent Framework if your site is displaying ads from one or more IAB Vendors.\"\n },\n {\n \"type\": \"GROUP\",\n \"name\": \"ConsentModeSettings\",\n \"displayName\": \"Consent Mode Settings\",\n \"groupStyle\": \"NO_ZIPPY\",\n \"subParams\": [\n {\n \"type\": \"TEXT\",\n \"name\": \"waitForUpdate\",\n \"displayName\": \"Wait for update\",\n \"simpleValueType\": true,\n \"valueUnit\": \"miliseconds\",\n \"help\": \"Set how many miliseconds to wait before firing tags waiting for consent\",\n \"defaultValue\": 2000,\n \"valueValidators\": [\n {\n \"type\": \"NON_EMPTY\"\n },\n {\n \"type\": \"NON_NEGATIVE_NUMBER\"\n }\n ]\n },\n {\n \"type\": \"SELECT\",\n \"name\": \"adsDataRedaction\",\n \"displayName\": \"Redact ads data\",\n \"selectItems\": [\n {\n \"value\": true,\n \"displayValue\": \"True\"\n },\n {\n \"value\": false,\n \"displayValue\": \"False\"\n },\n {\n \"value\": \"dynamic\",\n \"displayValue\": \"Dynamic (match ad_storage)\"\n }\n ],\n \"simpleValueType\": true,\n \"defaultValue\": \"dynamic\",\n \"help\": \"When ad data redaction is true and marketing cookies are denied, ad click identifiers sent in network requests by Google Ads and Floodlight tags will be redacted. Network requests will also be sent through a cookieless domain\"\n },\n {\n \"type\": \"CHECKBOX\",\n \"name\": \"urlPassthrough\",\n \"checkboxText\": \"Enable URL passthrough\",\n \"simpleValueType\": true,\n \"help\": \"When using URL passthrough, a few query parameters may be appended to links as users navigate through pages on your website\"\n },\n {\n \"type\": \"GROUP\",\n \"name\": \"DefaultConsent\",\n \"displayName\": \"Default Consent State\",\n \"subParams\": [\n {\n \"type\": \"PARAM_TABLE\",\n \"name\": \"regionSettings\",\n \"paramTableColumns\": [\n {\n \"param\": {\n \"type\": \"TEXT\",\n \"name\": \"region\",\n \"displayName\": \"Region (leave blank to apply globally)\",\n \"simpleValueType\": true\n },\n \"isUnique\": true\n },\n {\n \"param\": {\n \"type\": \"SELECT\",\n \"name\": \"defaultConsentPreferences\",\n \"displayName\": \"Preferences (functionality_storage and personalization_storage)\",\n \"selectItems\": [\n {\n \"value\": \"denied\",\n \"displayValue\": \"Denied\"\n },\n {\n \"value\": \"granted\",\n \"displayValue\": \"Granted\"\n }\n ],\n \"simpleValueType\": true,\n \"help\": \"Select default consent state for preference cookies\",\n \"defaultValue\": \"denied\"\n },\n \"isUnique\": false\n },\n {\n \"param\": {\n \"type\": \"SELECT\",\n \"name\": \"defaultConsentStatistics\",\n \"displayName\": \"Statistics (analytics_storage)\",\n \"selectItems\": [\n {\n \"value\": \"denied\",\n \"displayValue\": \"Denied\"\n },\n {\n \"value\": \"granted\",\n \"displayValue\": \"Granted\"\n }\n ],\n \"simpleValueType\": true,\n \"defaultValue\": \"denied\",\n \"help\": \"Select default consent state for statistics cookies\"\n },\n \"isUnique\": false\n },\n {\n \"param\": {\n \"type\": \"SELECT\",\n \"name\": \"defaultConsentMarketing\",\n \"displayName\": \"Marketing (ad_storage)\",\n \"selectItems\": [\n {\n \"value\": \"denied\",\n \"displayValue\": \"Denied\"\n },\n {\n \"value\": \"granted\",\n \"displayValue\": \"Granted\"\n }\n ],\n \"simpleValueType\": true,\n \"defaultValue\": \"denied\",\n \"help\": \"Select default consent state for marketing cookies\"\n },\n \"isUnique\": false\n },\n {\n \"param\": {\n \"type\": \"SELECT\",\n \"name\": \"defaultConsentMarketingAdUserData\",\n \"displayName\": \"Marketing (ad_user_data)\",\n \"selectItems\": [\n {\n \"value\": \"denied\",\n \"displayValue\": \"Denied\"\n },\n {\n \"value\": \"granted\",\n \"displayValue\": \"Granted\"\n }\n ],\n \"simpleValueType\": true,\n \"help\": \"Select default consent state for marketing cookies\",\n \"defaultValue\": \"denied\"\n },\n \"isUnique\": false\n },\n {\n \"param\": {\n \"type\": \"SELECT\",\n \"name\": \"defaultConsentMarketingAdPersonalization\",\n \"displayName\": \"Marketing (ad_personalization)\",\n \"selectItems\": [\n {\n \"value\": \"denied\",\n \"displayValue\": \"Denied\"\n },\n {\n \"value\": \"granted\",\n \"displayValue\": \"Granted\"\n }\n ],\n \"simpleValueType\": true,\n \"help\": \"Select default consent state for marketing cookies\",\n \"defaultValue\": \"denied\"\n },\n \"isUnique\": false\n }\n ],\n \"editRowTitle\": \"Edit region\",\n \"newRowButtonText\": \"Add region\",\n \"newRowTitle\": \"Add region\"\n }\n ],\n \"help\": \"A default consent state of \\u0027denied\\u0027 will apply until the user has submitted a consent. You can add different default states for users in different geographical regions. Please use ISO-3166-1 alpha-2 country codes for region values.\"\n }\n ],\n \"enablingConditions\": [\n {\n \"paramName\": \"consentModeEnabled\",\n \"paramValue\": true,\n \"type\": \"EQUALS\"\n }\n ]\n }\n]\n\n\n___SANDBOXED_JS_FOR_WEB_TEMPLATE___\n\nconst injectScript = require('injectScript');\nconst encodeUriComponent = require('encodeUriComponent');\nconst queryPermission = require('queryPermission');\nconst gtagSet = require('gtagSet');\nconst setDefaultConsentState = require('setDefaultConsentState');\nconst getCookieValues = require('getCookieValues');\nconst updateConsentState = require('updateConsentState');\nconst cookiebotSerial = data.serial;\nconst IABEnabled = data.iabFramework;\nconst consentModeEnabled = data.consentModeEnabled;\nconst language = data.language;\nconst waitForUpdate = data.waitForUpdate;\nconst urlPassthrough = data.urlPassthrough;\nconst adsDataRedaction = data.adsDataRedaction || 'dynamic';\nconst regionSettings = data.regionSettings || [];\nconst geoRegions = data.geoRegions || [];\nlet hasDefaultState = false;\n\n// Adding alternate banners for specified georegions\nlet geoRegionsString = \"\";\ngeoRegions.forEach(regionObj => {\n if (geoRegionsString != \"\") {\n geoRegionsString += \",\";\n }\n \n geoRegionsString += \"{'region':'\" + regionObj.altRegion + \"','cbid':'\" + regionObj.altCbid + \"'}\";\n});\n\nif (consentModeEnabled !== false) {\n \n // Turn region string (\"DK, NL, DE\") into array ([\"DK\", \"NL\", \"DE\"])\n const getRegionArr = (regionStr) => {\n return regionStr.split(',')\n .map(region => region.trim())\n .filter(region => region.length !== 0);\n };\n\n // Get default consent state per region\n const getConsentRegionData = (regionObject) => {\n const consentRegionData = {\n ad_storage: regionObject.defaultConsentMarketing,\n ad_user_data: regionObject.defaultConsentMarketingAdUserData,\n ad_personalization: regionObject.defaultConsentMarketingAdPersonalization,\n analytics_storage: regionObject.defaultConsentStatistics,\n functionality_storage: regionObject.defaultConsentPreferences,\n personalization_storage: regionObject.defaultConsentPreferences,\n security_storage: 'granted'\n };\n \n const regionArr = getRegionArr(regionObject.region);\n \n if (regionArr.length) {\n consentRegionData.region = regionArr;\n }\n \n return consentRegionData;\n };\n \n // Set url_passthrough and developer ID\n gtagSet({\n 'url_passthrough': urlPassthrough === true,\n 'developer_id.dMWZhNz': true\n });\n\n // Set default consent for each region\n regionSettings.forEach(regionObj => {\n const consentRegionData = getConsentRegionData(regionObj);\n\n if (waitForUpdate > 0) {\n consentRegionData.wait_for_update = waitForUpdate;\n }\n\n setDefaultConsentState(consentRegionData);\n \n if (regionObj.region === undefined || regionObj.region.trim() === '')\n {\n hasDefaultState = true;\n }\n });\n \n // Fallback to opt-out if no global default consent state has been defined in region settings\n if(!hasDefaultState) {\n setDefaultConsentState({\n ad_storage: 'denied',\n ad_user_data: 'denied',\n ad_personalization: 'denied',\n analytics_storage: 'denied',\n functionality_storage: 'denied',\n personalization_storage: 'denied',\n security_storage: 'granted'\n });\n }\n\n // Read existing consent from consent cookie if it exists\n let consentObj = null;\n \n if (getCookieValues(\"CookieConsent\").toString() !== '') {\n const consentString = getCookieValues(\"CookieConsent\")[0];\n\n if ((typeof consentString !== 'undefined') && (consentString.indexOf(\"{\") === 0) && (consentString.indexOf(\"}\") > 0)) {\n // Turn consentString into object\n consentObj = {\n preferences: 'denied',\n statistics: 'denied',\n marketing: 'denied',\n readConsentString: function (str) {\n let tempA = str.replace('{', '').replace('}', '').split(\",\"),\n tempB = {};\n for (let i = 0; i < tempA.length; i += 1) {\n let tempC = tempA[i].split(':');\n tempB[tempC[0]] = tempC[1];\n }\n\n consentObj.preferences = tempB.preferences === 'true' ? 'granted' : 'denied';\n consentObj.statistics = tempB.statistics === 'true' ? 'granted' : 'denied';\n consentObj.marketing = tempB.marketing === 'true' ? 'granted' : 'denied';\n consentObj.region = tempB.region; // This is the region wherefrom the consent was originally submitted\n }\n };\n\n consentObj.readConsentString(consentString);\n\n updateConsentState({\n 'ad_storage': consentObj.marketing,\n 'ad_user_data': consentObj.marketing,\n 'ad_personalization': consentObj.marketing,\n 'analytics_storage': consentObj.statistics,\n 'functionality_storage': consentObj.preferences,\n 'personalization_storage': consentObj.preferences,\n 'security_storage': 'granted'\n });\n }\n }\n \n // Set data redaction\n const marketingConsent = consentObj ? consentObj.marketing : 'denied';\n const marketingConsentBoolean = marketingConsent === 'granted';\n const adsDataRedactionValue = adsDataRedaction === 'dynamic' ? !marketingConsentBoolean : adsDataRedaction === 'true';\n \n gtagSet({\n 'ads_data_redaction': adsDataRedactionValue\n });\n}\n\nlet scriptUrl = 'https://consent.cookiebot.com/uc.js?cbid=' + encodeUriComponent(cookiebotSerial) + '&implementation=gtm';\n\nif(consentModeEnabled === false)\n{\n scriptUrl += '&consentmode=disabled';\n}\nelse\n{\n scriptUrl += '&consentmode-dataredaction=' + adsDataRedaction;\n}\n\nif (language === 'variable')\n{\n scriptUrl += '&culture=' + encodeUriComponent(data.languageVariable);\n}\n\n// Add georegions to the script src\nif (geoRegionsString != \"\") {\n scriptUrl += '&georegions=' + encodeUriComponent(geoRegionsString); \n}\n\nif(IABEnabled) {\n scriptUrl += '&framework=TCFv2.2';\n}\n\nif (queryPermission('inject_script', scriptUrl)) {\n injectScript(scriptUrl, data.gtmOnSuccess, data.gtmOnFailure);\n} else {\n data.gtmOnFailure();\n}\n\n\n___WEB_PERMISSIONS___\n\n[\n {\n \"instance\": {\n \"key\": {\n \"publicId\": \"inject_script\",\n \"versionId\": \"1\"\n },\n \"param\": [\n {\n \"key\": \"urls\",\n \"value\": {\n \"type\": 2,\n \"listItem\": [\n {\n \"type\": 1,\n \"string\": \"https://*.cookiebot.com/\"\n }\n ]\n }\n }\n ]\n },\n \"clientAnnotations\": {\n \"isEditedByUser\": true\n },\n \"isRequired\": true\n },\n {\n \"instance\": {\n \"key\": {\n \"publicId\": \"access_consent\",\n \"versionId\": \"1\"\n },\n \"param\": [\n {\n \"key\": \"consentTypes\",\n \"value\": {\n \"type\": 2,\n \"listItem\": [\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"consentType\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"analytics_storage\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"consentType\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"ad_storage\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"consentType\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"functionality_storage\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"consentType\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"personalization_storage\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"consentType\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"security_storage\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"consentType\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"wait_for_update\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"consentType\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"ad_personalization\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n },\n {\n \"type\": 3,\n \"mapKey\": [\n {\n \"type\": 1,\n \"string\": \"consentType\"\n },\n {\n \"type\": 1,\n \"string\": \"read\"\n },\n {\n \"type\": 1,\n \"string\": \"write\"\n }\n ],\n \"mapValue\": [\n {\n \"type\": 1,\n \"string\": \"ad_user_data\"\n },\n {\n \"type\": 8,\n \"boolean\": false\n },\n {\n \"type\": 8,\n \"boolean\": true\n }\n ]\n }\n ]\n }\n }\n ]\n },\n \"clientAnnotations\": {\n \"isEditedByUser\": true\n },\n \"isRequired\": true\n },\n {\n \"instance\": {\n \"key\": {\n \"publicId\": \"get_cookies\",\n \"versionId\": \"1\"\n },\n \"param\": [\n {\n \"key\": \"cookieAccess\",\n \"value\": {\n \"type\": 1,\n \"string\": \"specific\"\n }\n },\n {\n \"key\": \"cookieNames\",\n \"value\": {\n \"type\": 2,\n \"listItem\": [\n {\n \"type\": 1,\n \"string\": \"CookieConsent\"\n }\n ]\n }\n }\n ]\n },\n \"clientAnnotations\": {\n \"isEditedByUser\": true\n },\n \"isRequired\": true\n },\n {\n \"instance\": {\n \"key\": {\n \"publicId\": \"write_data_layer\",\n \"versionId\": \"1\"\n },\n \"param\": [\n {\n \"key\": \"keyPatterns\",\n \"value\": {\n \"type\": 2,\n \"listItem\": [\n {\n \"type\": 1,\n \"string\": \"ads_data_redaction\"\n },\n {\n \"type\": 1,\n \"string\": \"url_passthrough\"\n },\n {\n \"type\": 1,\n \"string\": \"developer_id.dMWZhNz\"\n }\n ]\n }\n }\n ]\n },\n \"clientAnnotations\": {\n \"isEditedByUser\": true\n },\n \"isRequired\": true\n }\n]\n\n\n___TESTS___\n\nscenarios: []\n\n\n___NOTES___\n\nCookiebot CMP Tag v2.8\n* Add separate choices (dropdowns) for new Marketing bits\n\nCookiebot CMP Tag v2.7.1\n* Add missing mention of new bits\n\nCookiebot CMP Tag v2.7\n* Remove deprecated \"TCFv2.0\" dropdown option\n\nCookiebot CMP Tag v2.6\n* Add support for ad_user_data and ad_personalization GCM signals\n\nCookiebot CMP Tag v2.5.1\n* Resolved edge case issue where consentmode-dataredaction parameter is set as undefined\n\nCookiebot CMP Tag v2.5\n* Added implementation URL-parameter\n\nCookiebot CMP Tag v2.4\n* Added support for TCFv2.2\n\nCookiebot CMP Tag v2.3\n* Added support for multi-legislation configurations\n\nCookiebot CMP Tag v2.2.2\n* Added developer_id to template\n* Resolved default consent issue when using an empty region value\n\nCookiebot CMP Tag v2.2.1\n* Resolved ConsentModeEnabled default value issue\n\nCookiebot CMP Tag v2.2\n* Added checkbox to enable / disable Google Consent Mode\n* Added checkbox to enable / disable URL passthrough\n* Added dropdown to control Ads Data Redaction\n* Added \"UpdateConsentState\" support in the template code\n* Changed Default Consent State to be region-based\n\nCookiebot CMP Tag v2.1\n* Added support for wait_for_update flag\n\nCookiebot CMP Tag v2.0\n* Implemented Google Consent Mode\n\nCookiebot CMP Tag v1.0\n* Initial version\n\n\n", "galleryReference": { "host": "github.com", "owner": "cybotcorp", "repository": "gtm-templates-cookiebot-cmp", "version": "d83fb46e86219acace75b48bfac52f560eb4c71a", "signature": "30f52f8bc051e97c8f24e2bfa1b0b540fde886eb321620ee3e55242dd2406b9e" } } ] } }