{
    "exportFormatVersion": 2,
    "exportTime": "2026-01-02 11:49:01",
    "containerVersion": {
        "path": "accounts/6331670792/containers/239376912/versions/0",
        "accountId": "6331670792",
        "containerId": "239376912",
        "containerVersionId": "0",
        "container": {
            "path": "accounts/6331670792/containers/239376912",
            "accountId": "6331670792",
            "containerId": "239376912",
            "name": "1 - Medición mínima viable",
            "publicId": "GTM-PL9SGQMM",
            "usageContext": [
                "WEB"
            ],
            "fingerprint": "1767336607261",
            "tagManagerUrl": "https://tagmanager.google.com/#/container/accounts/6331670792/containers/239376912/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-PL9SGQMM"
            ]
        },
        "tag": [
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "tagId": "7",
                "name": "GA4 - Etiqueta de configuración",
                "type": "googtag",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "tagId",
                        "value": "{{ID - GA4}}"
                    }
                ],
                "fingerprint": "1767336871310",
                "firingTriggerId": [
                    "2147479573"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "tagId": "9",
                "name": "G Ads - Etiqueta de configuración",
                "type": "googtag",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "tagId",
                        "value": "AW-{{ID - Conversión de Google Ads}}"
                    }
                ],
                "fingerprint": "1767338628528",
                "firingTriggerId": [
                    "2147479573"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "tagId": "12",
                "name": "G Ads - Lead",
                "type": "awct",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "enableNewCustomerReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableConversionLinker",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableProductReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableShippingData",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionId",
                        "value": "{{ID - Conversión de Google Ads}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionLabel",
                        "value": "{{Etiqueta de conversión de Lead - Google Ads}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "rdp",
                        "value": "false"
                    }
                ],
                "fingerprint": "1767337772892",
                "firingTriggerId": [
                    "10"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "tagId": "13",
                "name": "GA4 - Lead",
                "type": "gaawe",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "sendEcommerceData",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "generate_lead"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "measurementIdOverride",
                        "value": "{{ID - GA4}}"
                    }
                ],
                "fingerprint": "1767337842518",
                "firingTriggerId": [
                    "10"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "tagId": "15",
                "name": "FB - Etiqueta de configuración",
                "type": "cvt_KFNBV",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventNameStandard",
                        "value": "PageView"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dataLayerEventPush",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelIds",
                        "value": "{{ID - Facebook píxel}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "objectPropertiesFromVariable",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "consent",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableDataLayerMapping",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "inheritEventName",
                        "value": "override"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "disableAutoConfig",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableCurrentDataLayerOnly",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableConsentMode",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableEdvancedMatching",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dpoLDU",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "standard"
                    }
                ],
                "fingerprint": "1767338703925",
                "firingTriggerId": [
                    "2147479573"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "tagId": "16",
                "name": "FB - Lead",
                "type": "cvt_KFNBV",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventNameStandard",
                        "value": "Lead"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dataLayerEventPush",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelIds",
                        "value": "{{ID - Facebook píxel}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "objectPropertiesFromVariable",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "consent",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableDataLayerMapping",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "inheritEventName",
                        "value": "override"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "disableAutoConfig",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableCurrentDataLayerOnly",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableConsentMode",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableEdvancedMatching",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dpoLDU",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "standard"
                    }
                ],
                "fingerprint": "1767338104302",
                "firingTriggerId": [
                    "10"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "tagId": "18",
                "name": "TikTok - Etiqueta de configuración",
                "type": "html",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "html",
                        "value": "<!-- TikTok Pixel Code Start -->\n<script>\n!function (w, d, t) {\n  w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=[\"page\",\"track\",\"identify\",\"instances\",\"debug\",\"on\",\"off\",\"once\",\"ready\",\"alias\",\"group\",\"enableCookie\",\"disableCookie\",\"holdConsent\",\"revokeConsent\",\"grantConsent\"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(\nvar e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r=\"https://analytics.tiktok.com/i18n/pixel/events.js\",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement(\"script\")\n;n.type=\"text/javascript\",n.async=!0,n.src=r+\"?sdkid=\"+e+\"&lib=\"+t;e=document.getElementsByTagName(\"script\")[0];e.parentNode.insertBefore(n,e)};\n\n\n  ttq.load('{{ID - TikTok pixel}}');\n  ttq.page();\n}(window, document, 'ttq');\n</script>\n<!-- TikTok Pixel Code End -->"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "supportDocumentWrite",
                        "value": "false"
                    }
                ],
                "fingerprint": "1767338716383",
                "firingTriggerId": [
                    "2147479573"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "tagId": "20",
                "name": "TikTok - Lead",
                "type": "cvt_MRQN8",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "ga_ecomm",
                        "value": "ecomm"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixel_code",
                        "value": "{{ID - TikTok pixel}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "event",
                        "value": "{{Lead}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhance_ecomm",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "hash",
                        "value": "hashed"
                    }
                ],
                "fingerprint": "1767338395403",
                "firingTriggerId": [
                    "10"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "tagId": "22",
                "name": "Cookie - Formulario enviado",
                "type": "cvt_239376912_5",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "dropDownMenu1ExpireType",
                        "value": "session"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "checkbox1Secure",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "text1CookieValue",
                        "value": "si"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "checkbox1Path",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "checkbox1SameSite",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "text1CookieName",
                        "value": "formulario_enviado"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "checkbox1Domain",
                        "value": "false"
                    }
                ],
                "fingerprint": "1767354212818",
                "firingTriggerId": [
                    "21"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            }
        ],
        "trigger": [
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "triggerId": "10",
                "name": "Página de gracias",
                "type": "PAGEVIEW",
                "filter": [
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Page URL}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "gracias"
                            }
                        ]
                    },
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Cookie - Formulario enviado}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "si"
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    }
                ],
                "fingerprint": "1767339305365"
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "triggerId": "21",
                "name": "Página de gracias - Ventana cargada",
                "type": "WINDOW_LOADED",
                "filter": [
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Page URL}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "gracias"
                            }
                        ]
                    }
                ],
                "fingerprint": "1767338540614"
            }
        ],
        "variable": [
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "variableId": "6",
                "name": "ID - GA4",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "AGREGA_TU_ID"
                    }
                ],
                "fingerprint": "1767354297502",
                "formatValue": {}
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "variableId": "8",
                "name": "ID - Conversión de Google Ads",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "AGREGA_TU_ID"
                    }
                ],
                "fingerprint": "1767354468240",
                "formatValue": {}
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "variableId": "11",
                "name": "Etiqueta de conversión de Lead - Google Ads",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "AGREGA_TU_ID"
                    }
                ],
                "fingerprint": "1767354461222",
                "formatValue": {}
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "variableId": "14",
                "name": "ID - Facebook píxel",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "AGREGA_TU_ID"
                    }
                ],
                "fingerprint": "1767354473161",
                "formatValue": {}
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "variableId": "17",
                "name": "ID - TikTok pixel",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "AGREGA_TU_ID"
                    }
                ],
                "fingerprint": "1767354479938",
                "formatValue": {}
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "variableId": "19",
                "name": "Lead",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "Lead"
                    }
                ],
                "fingerprint": "1767338385195",
                "formatValue": {}
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "variableId": "24",
                "name": "Cookie - Formulario enviado",
                "type": "k",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "decodeCookie",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "formulario_enviado"
                    }
                ],
                "fingerprint": "1767339294580",
                "formatValue": {}
            }
        ],
        "builtInVariable": [
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "type": "PAGE_URL",
                "name": "Page URL"
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "type": "PAGE_HOSTNAME",
                "name": "Page Hostname"
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "type": "PAGE_PATH",
                "name": "Page Path"
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "type": "REFERRER",
                "name": "Referrer"
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "type": "EVENT",
                "name": "Event"
            }
        ],
        "fingerprint": "1767354541729",
        "tagManagerUrl": "https://tagmanager.google.com/#/versions/accounts/6331670792/containers/239376912/versions/0?apiLink=version",
        "customTemplate": [
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "templateId": "3",
                "name": "Facebook Pixel by Stape",
                "fingerprint": "1767336671422",
                "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  \"type\": \"TAG\",\n  \"id\": \"cvt_KFNBV\",\n  \"version\": 1,\n  \"displayName\": \"Facebook Pixel by Stape\",\n  \"categories\": [\n    \"ADVERTISING\",\n    \"ANALYTICS\",\n    \"CONVERSIONS\",\n    \"MARKETING\",\n    \"REMARKETING\"\n  ],\n  \"brand\": {\n    \"id\": \"github.com_stape-io\",\n    \"displayName\": \"stape-io\",\n    \"thumbnail\": \"data:image/png;base64,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MYEFAJCYwAIASExgAQAkJrAAABITWAAAiQksAIDEBBYAQGICCwAgMYEFAJDYZAAwMucXi/jM/1iOO6/rxB1Hu3HrNd3YPxOxazpiotOJNlteKWJ+OWKu/D145lwRT54p4v8+3Y/zC0VA2wgsgBFaKAPjC7+//MLn+8q4OrqvG0f3Rhwpn4/srT7vxLXl46ZD5eNgd/XjXeW79XT5mJkq37i79QmxomyjXhlOCysRi+V/1mIv4szFIo7NFvHU2X48Vz6fvlDE8fMRJ+b65aOIk+fLH98LaDWBBTBGc4vVox/fO1V91l/3x1RRdXCmEwd3d+LArogDu7txeE/EofLzQ+XzwfLzQ7vLWCu/b890p4y2TuwtJ2Izq1HWid3l81T1mIio0qxbTsomJ9b+2b1+Ef3yX1s+xXL5vPR8JC2uBlOx+uu7uFSsTt4ulh+fK6dNZ+eLODcfcboMqTNlPFVBVU2hqm+bLX9cbyUgewILoOaqydDxMnaOz106SusHUG+W3AEAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBITGABACQmsAAAEhNYAACJCSwAgMQEFgBAYgILACAxgQUAkJjAAgBI7M8AEVZ9YYB+7i0AAAAASUVORK5CYII\\u003d\"\n  },\n  \"description\": \"Integrates the Facebook/Meta Pixel into the page and allows easy event tracking.\",\n  \"containerContexts\": [\n    \"WEB\"\n  ]\n}\n\n\n___TEMPLATE_PARAMETERS___\n\n[\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"baseConfigurationGroup\",\n    \"subParams\": [\n      {\n        \"type\": \"TEXT\",\n        \"name\": \"pixelIds\",\n        \"displayName\": \"Facebook Pixel ID(s)\",\n        \"simpleValueType\": true,\n        \"valueValidators\": [\n          {\n            \"type\": \"NON_EMPTY\"\n          },\n          {\n            \"type\": \"REGEX\",\n            \"args\": [\n              \"^[0-9,]+$\"\n            ]\n          }\n        ],\n        \"help\": \"Set to a valid Facebook Pixel ID.\",\n        \"alwaysInSummary\": true\n      },\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"inheritEventName\",\n        \"displayName\": \"Event Name Setup Method\",\n        \"selectItems\": [\n          {\n            \"value\": \"inherit\",\n            \"displayValue\": \"Inherit from DataLayer\"\n          },\n          {\n            \"value\": \"override\",\n            \"displayValue\": \"Override\"\n          }\n        ],\n        \"simpleValueType\": true,\n        \"subParams\": [\n          {\n            \"type\": \"RADIO\",\n            \"name\": \"eventName\",\n            \"radioItems\": [\n              {\n                \"value\": \"standard\",\n                \"displayValue\": \"Standard\",\n                \"subParams\": [\n                  {\n                    \"type\": \"SELECT\",\n                    \"name\": \"eventNameStandard\",\n                    \"macrosInSelect\": false,\n                    \"selectItems\": [\n                      {\n                        \"value\": \"PageView\",\n                        \"displayValue\": \"PageView\"\n                      },\n                      {\n                        \"value\": \"AddPaymentInfo\",\n                        \"displayValue\": \"AddPaymentInfo\"\n                      },\n                      {\n                        \"value\": \"AddToCart\",\n                        \"displayValue\": \"AddToCart\"\n                      },\n                      {\n                        \"value\": \"AddToWishlist\",\n                        \"displayValue\": \"AddToWishlist\"\n                      },\n                      {\n                        \"value\": \"CompleteRegistration\",\n                        \"displayValue\": \"CompleteRegistration\"\n                      },\n                      {\n                        \"value\": \"Contact\",\n                        \"displayValue\": \"Contact\"\n                      },\n                      {\n                        \"value\": \"CustomizeProduct\",\n                        \"displayValue\": \"CustomizeProduct\"\n                      },\n                      {\n                        \"value\": \"Donate\",\n                        \"displayValue\": \"Donate\"\n                      },\n                      {\n                        \"value\": \"FindLocation\",\n                        \"displayValue\": \"FindLocation\"\n                      },\n                      {\n                        \"value\": \"InitiateCheckout\",\n                        \"displayValue\": \"InitiateCheckout\"\n                      },\n                      {\n                        \"value\": \"Lead\",\n                        \"displayValue\": \"Lead\"\n                      },\n                      {\n                        \"value\": \"Purchase\",\n                        \"displayValue\": \"Purchase\"\n                      },\n                      {\n                        \"value\": \"Schedule\",\n                        \"displayValue\": \"Schedule\"\n                      },\n                      {\n                        \"value\": \"Search\",\n                        \"displayValue\": \"Search\"\n                      },\n                      {\n                        \"value\": \"StartTrial\",\n                        \"displayValue\": \"StartTrial\"\n                      },\n                      {\n                        \"value\": \"SubmitApplication\",\n                        \"displayValue\": \"SubmitApplication\"\n                      },\n                      {\n                        \"value\": \"Subscribe\",\n                        \"displayValue\": \"Subscribe\"\n                      },\n                      {\n                        \"value\": \"ViewContent\",\n                        \"displayValue\": \"ViewContent\"\n                      }\n                    ],\n                    \"simpleValueType\": true,\n                    \"displayName\": \"Event Name\",\n                    \"defaultValue\": \"PageView\"\n                  }\n                ]\n              },\n              {\n                \"value\": \"custom\",\n                \"displayValue\": \"Custom\",\n                \"subParams\": [\n                  {\n                    \"type\": \"TEXT\",\n                    \"name\": \"eventNameCustom\",\n                    \"simpleValueType\": true,\n                    \"displayName\": \"Event Name\",\n                    \"valueValidators\": [\n                      {\n                        \"type\": \"NON_EMPTY\"\n                      }\n                    ]\n                  }\n                ]\n              }\n            ],\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"inheritEventName\",\n                \"paramValue\": \"override\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"displayName\": \"Event Type\"\n          }\n        ],\n        \"defaultValue\": \"override\",\n        \"alwaysInSummary\": true\n      },\n      {\n        \"type\": \"CHECKBOX\",\n        \"name\": \"enableDataLayerMapping\",\n        \"checkboxText\": \"Enable automatic User Data and Event Parameters mapping from the Data Layer\",\n        \"simpleValueType\": true,\n        \"help\": \"If you check this, then the Facebook tag will populate standard Object Properties and User Data automatically from the DataLayer. The tag parses Universal Analytics,  \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://developers.google.com/analytics/devguides/collection/ga4/ecommerce\\\"\\u003eGA4\\u003c/a\\u003e and \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://developers.google.com/tag-platform/tag-manager/server-side/common-event-data\\\"\\u003eCommon Event Data\\u003c/a\\u003e formats.\",\n        \"defaultValue\": true,\n        \"alwaysInSummary\": true\n      },\n      {\n        \"type\": \"CHECKBOX\",\n        \"name\": \"enableCurrentDataLayerOnly\",\n        \"checkboxText\": \"Use data only from the most recent Data Layer event where the data can be found (ignore recursive merges)\",\n        \"simpleValueType\": true,\n        \"help\": \"If enabled, the tag will take data only from the most recent Data Layer event where the data can be found. \\n\\u003cbr/\\u003e\\u003cbr/\\u003e\\nIn other words, the tag will ignore recursive merges for Data Layer variables and take only the most recent value of the data. \\u003ca href\\u003d\\\"https://www.simoahava.com/gtm-tips/data-layer-variable-versions-explained/\\\"\\u003eLearn more\\u003c/a\\u003e.\\n\\u003cbr/\\u003e\\nThat\\u0027s how it worked in the old Facebook pixel tag.\",\n        \"defaultValue\": false,\n        \"enablingConditions\": [\n          {\n            \"paramName\": \"enableDataLayerMapping\",\n            \"paramValue\": true,\n            \"type\": \"EQUALS\"\n          }\n        ],\n        \"alwaysInSummary\": true\n      },\n      {\n        \"type\": \"CHECKBOX\",\n        \"name\": \"enableEdvancedMatching\",\n        \"checkboxText\": \"Enable Advanced Matching\",\n        \"simpleValueType\": true,\n        \"help\": \"Enable sending of user personal information such as email addresses, names, etc. to Meta.\\n\\u003cbr/\\u003e\\nMore information can be found \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://developers.facebook.com/docs/meta-pixel/advanced/advanced-matching/\\\"\\u003ehere\\u003c/a\\u003e.\",\n        \"subParams\": [\n          {\n            \"type\": \"GROUP\",\n            \"name\": \"advancedMatchingGroup\",\n            \"subParams\": [\n              {\n                \"type\": \"CHECKBOX\",\n                \"name\": \"enableEventEnhancement\",\n                \"checkboxText\": \"Enable Event Enhancement\",\n                \"simpleValueType\": true,\n                \"help\": \"Enable the use of \\u003ci\\u003elocalStorage\\u003c/i\\u003e to store data for enhanced event tracking.\\n\\u003cbr/\\u003e\\u003cbr/\\u003e\\nNote: If the \\u003ci\\u003eEnable automatic data population from the Data Layer\\u003c/i\\u003e option is selected, all User Data it finds in the Data Layer will be stored, not just the fields explicitly defined in the User Data section.\",\n                \"subParams\": [\n                  {\n                    \"type\": \"CHECKBOX\",\n                    \"name\": \"storeUserDataHashed\",\n                    \"checkboxText\": \"Store User Data hashed\",\n                    \"simpleValueType\": true,\n                    \"help\": \"The User Data will be stored hashed in \\u003ci\\u003elocalStorage\\u003c/i\\u003e.\",\n                    \"enablingConditions\": [\n                      {\n                        \"paramName\": \"enableEventEnhancement\",\n                        \"paramValue\": true,\n                        \"type\": \"EQUALS\"\n                      }\n                    ]\n                  }\n                ]\n              },\n              {\n                \"type\": \"CHECKBOX\",\n                \"name\": \"runInitOnce\",\n                \"checkboxText\": \"Run the \\u0027init\\u0027 command only once\",\n                \"simpleValueType\": true,\n                \"help\": \"When Advanced Matching is enabled, the tag runs the \\u003ci\\u003einit\\u003c/i\\u003e command with each event to send user information that becomes available after page load.\\n\\u003cbr/\\u003e\\u003cbr/\\u003e\\nThis causes the following message in the Console from the fbevents.js file:\\n\\u003ci\\u003e[Meta Pixel] - Duplicate Pixel ID: {Pixel ID}.\\u003c/i\\u003e\\n\\u003cbr/\\u003e\\u003cbr/\\u003e\\nEnable this option to skip repeated \\u003ci\\u003einit\\u003c/i\\u003e calls and suppress the Console message. Note that Advanced Matching data found after the first call won’t be sent.\"\n              }\n            ],\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enableEdvancedMatching\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          }\n        ],\n        \"defaultValue\": true,\n        \"alwaysInSummary\": true\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"complianceGroup\",\n    \"displayName\": \"Compliance\",\n    \"groupStyle\": \"ZIPPY_OPEN\",\n    \"subParams\": [\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"consent\",\n        \"displayName\": \"Consent Granted\",\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\": \"Setting Consent Granted to \\u003cstrong\\u003efalse\\u003c/strong\\u003e will prevent the pixel from sending hits until tag fired with Consent Granted \\u003cstrong\\u003etrue\\u003c/strong\\u003e. More info \\u003ca href\\u003d\\\"hhttps://developers.facebook.com/docs/meta-pixel/implementation/gdpr\\\"\\u003eby this link\\u003c/a\\u003e.\",\n        \"enablingConditions\": [\n          {\n            \"paramName\": \"enableConsentMode\",\n            \"paramValue\": false,\n            \"type\": \"EQUALS\"\n          }\n        ]\n      },\n      {\n        \"type\": \"CHECKBOX\",\n        \"name\": \"enableConsentMode\",\n        \"checkboxText\": \"Enable GTM consent mode support\",\n        \"simpleValueType\": true,\n        \"help\": \"If enabled, the tag will check for ad_storage, and if it not granted, it will set the Facebook pixel consent to revoke. After the consent is granted, it will automatically execute fbq(\\u0027consent\\u0027, \\u0027grant\\u0027);\"\n      },\n      {\n        \"type\": \"CHECKBOX\",\n        \"name\": \"dpoLDU\",\n        \"checkboxText\": \"Limited Data Use (LDU)\",\n        \"simpleValueType\": true,\n        \"help\": \"Limited Data Use is a data processing option that gives you more control over how your data is used in Meta’s systems. More info \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://developers.facebook.com/docs/meta-pixel/implementation/data-processing-options\\\"\\u003eby this link\\u003c/a\\u003e.\"\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    \"displayName\": \"User Data\",\n    \"name\": \"userDataListGroup\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"type\": \"GROUP\",\n    \"subParams\": [\n      {\n        \"type\": \"LABEL\",\n        \"name\": \"userDataLabel\",\n        \"displayName\": \"User Data Properties that you can send to Meta can be found at \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://developers.facebook.com/docs/meta-pixel/advanced/advanced-matching\\\"\\u003ethis link\\u003c/a\\u003e.\\u003cbr\\u003e\\u003cbr\\u003e\"\n      },\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"userDataFromVariable\",\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 standard User-Provided Data variable or create a variable that returns a JavaScript object with the desired user data properties. This object will merge with additional properties from the table below, with any conflicts resolved in favor of the table entries.\"\n      },\n      {\n        \"name\": \"userDataList\",\n        \"simpleTableColumns\": [\n          {\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ],\n            \"defaultValue\": \"em\",\n            \"displayName\": \"Property Name\",\n            \"name\": \"name\",\n            \"isUnique\": true,\n            \"type\": \"SELECT\",\n            \"selectItems\": [\n              {\n                \"value\": \"em\",\n                \"displayValue\": \"Email\"\n              },\n              {\n                \"value\": \"ph\",\n                \"displayValue\": \"Phone\"\n              },\n              {\n                \"value\": \"ge\",\n                \"displayValue\": \"Gender\"\n              },\n              {\n                \"value\": \"db\",\n                \"displayValue\": \"Date of Birth\"\n              },\n              {\n                \"value\": \"ln\",\n                \"displayValue\": \"Last Name\"\n              },\n              {\n                \"value\": \"fn\",\n                \"displayValue\": \"First Name\"\n              },\n              {\n                \"value\": \"ct\",\n                \"displayValue\": \"City\"\n              },\n              {\n                \"value\": \"st\",\n                \"displayValue\": \"State\"\n              },\n              {\n                \"value\": \"zp\",\n                \"displayValue\": \"Zip\"\n              },\n              {\n                \"value\": \"country\",\n                \"displayValue\": \"Country\"\n              },\n              {\n                \"value\": \"external_id\",\n                \"displayValue\": \"External ID\"\n              }\n            ]\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    \"enablingConditions\": [\n      {\n        \"paramName\": \"enableEdvancedMatching\",\n        \"paramValue\": true,\n        \"type\": \"EQUALS\"\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\": \"objectPropertiesLabel\",\n        \"displayName\": \"Standard Object Properties that you can send to Meta can be found at \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://developers.facebook.com/docs/meta-pixel/reference#object-properties\\\"\\u003ethis link\\u003c/a\\u003e.\\u003cbr\\u003e\\u003cbr\\u003e\"\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 create a variable that returns a JavaScript object with the desired properties. This object will merge with additional properties from the table below, with any conflicts resolved in favor of the table entries.\"\n      },\n      {\n        \"name\": \"objectPropertiesList\",\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    \"type\": \"GROUP\",\n    \"name\": \"serverGroup\",\n    \"displayName\": \"Server Side Tracking\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"subParams\": [\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        \"type\": \"GROUP\",\n        \"name\": \"advancedSettingsGroup\",\n        \"displayName\": \"Advanced Settings\",\n        \"groupStyle\": \"ZIPPY_OPEN_ON_PARAM\",\n        \"subParams\": [\n          {\n            \"type\": \"CHECKBOX\",\n            \"name\": \"dataLayerEventPush\",\n            \"checkboxText\": \"Push event to DataLayer with this eventId\",\n            \"simpleValueType\": true,\n            \"help\": \"Helpful for easier events deduplication.\",\n            \"defaultValue\": false\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"dataLayerEventName\",\n            \"displayName\": \"DataLayer Event Name\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"dataLayerEventPush\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ],\n            \"valueHint\": \"page_view_unique\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"dataLayerVariableName\",\n            \"displayName\": \"DataLayer Object Name\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"dataLayerEventPush\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ],\n            \"defaultValue\": \"dataLayer\",\n            \"help\": \"Use dataLayer by default. Modify only if you renamed dataLayer object name.\"\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"otherSettingsGroup\",\n    \"displayName\": \"Other Settings\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"subParams\": [\n      {\n        \"help\": \"Facebook automatically collects metadata and user interactions (e.g., clicks). Check this box to disable this functionality.\",\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 automatically tracks history events (pushState and replaceState) as PageViews. Check this box to disable this automatic tracking.\"\n      }\n    ]\n  }\n]\n\n\n___SANDBOXED_JS_FOR_WEB_TEMPLATE___\n\nconst addConsentListener = require('addConsentListener');\nconst aliasInWindow = require('aliasInWindow');\nconst callInWindow = require('callInWindow');\nconst copyFromDataLayer = require('copyFromDataLayer');\nconst copyFromWindow = require('copyFromWindow');\nconst createQueue = require('createQueue');\nconst getType = require('getType');\nconst injectScript = require('injectScript');\nconst isConsentGranted = require('isConsentGranted');\nconst JSON = require('JSON');\nconst localStorage = require('localStorage');\nconst makeNumber = require('makeNumber');\nconst makeString = require('makeString');\nconst makeTableMap = require('makeTableMap');\nconst math = require('Math');\nconst Object = require('Object');\nconst setInWindow = require('setInWindow');\nconst sha256 = require('sha256');\n\n/*==============================================================================\n==============================================================================*/\n\nconst partnerName = 'stape-gtm-1.1.0';\nconst queueName = 'fbq';\nconst queue = getQueue(queueName);\nconst initIds = copyFromWindow('_meta_gtm_ids') || [];\nconst ecommerceDataLayer = copyFromDataLayer('ecommerce', 1);\nconst dataLayerVersion = data.enableCurrentDataLayerOnly ? 1 : 2;\n\nsetConsent();\nsendEvent();\nsendDataLayerPush();\n\ninjectScript('https://connect.facebook.net/en_US/fbevents.js', data.gtmOnSuccess, data.gtmOnFailure, 'metaPixel');\n\n/*==============================================================================\n  Vendor related functions\n==============================================================================*/\n\nfunction getQueue(queueName) {\n  const q = copyFromWindow(queueName);\n  if (q) {\n    return q;\n  }\n\n  setInWindow(queueName, function () {\n    const callMethod = copyFromWindow(queueName + '.callMethod.apply');\n    if (callMethod) {\n      callInWindow(queueName + '.callMethod.apply', null, arguments);\n    } else {\n      callInWindow(queueName + '.queue.push', arguments);\n    }\n  });\n\n  aliasInWindow('_' + queueName, queueName);\n  createQueue(queueName + '.queue');\n\n  return copyFromWindow(queueName);\n}\n\nfunction setConsent() {\n  if (data.dpoLDU) {\n    queue('dataProcessingOptions', ['LDU'], makeNumber(data.dpoCountry), makeNumber(data.dpoState));\n  }\n\n  if (data.enableConsentMode) {\n    if (!isConsentGranted('ad_storage')) {\n      queue('consent', 'revoke');\n\n      let wasCalled = false;\n\n      addConsentListener('ad_storage', (consentType, granted) => {\n        if (wasCalled || consentType !== 'ad_storage' || !granted) return;\n        wasCalled = true;\n\n        queue('consent', 'grant');\n      });\n\n      return;\n    }\n\n    queue('consent', 'grant');\n\n    return;\n  }\n\n  queue('consent', data.consent === false ? 'revoke' : 'grant');\n}\n\nfunction setSettings(pixelId) {\n  if (data.disableAutoConfig) {\n    queue('set', 'autoConfig', false, pixelId);\n  }\n\n  if (data.disablePushState) {\n    setInWindow(queueName + '.disablePushState', true);\n  }\n}\n\nfunction sendEvent() {\n  const pixelIds = data.pixelIds;\n  const eventName = getEventName();\n  const command = getCommand(eventName);\n  const eventData = getEventData(eventName);\n  const userData = getUserData();\n\n  pixelIds.split(',').forEach((pixelId) => {\n    const isNotInitialized = initIds.indexOf(pixelId) === -1;\n\n    if (isNotInitialized) {\n      initIds.push(pixelId);\n      setInWindow('_meta_gtm_ids', initIds, true);\n      setSettings();\n    }\n\n    if (isNotInitialized || (data.enableEdvancedMatching && !data.runInitOnce)) queue('init', pixelId, userData);\n    queue('set', 'agent', partnerName, pixelId);\n    queue(command, pixelId, eventName, eventData, data.eventId ? { eventID: data.eventId } : undefined);\n  });\n}\n\nfunction getEventName() {\n  if (data.inheritEventName === 'inherit') {\n    let eventName = copyFromDataLayer('event');\n\n    if (!eventName) {\n      if (ecommerceDataLayer.detail) eventName = 'ViewContent';\n      else if (ecommerceDataLayer.add) eventName = 'AddToCart';\n      else if (ecommerceDataLayer.checkout) eventName = 'InitiateCheckout';\n      else if (ecommerceDataLayer.purchase) eventName = 'Purchase';\n    }\n\n    const mapFacebookEventName = {\n      page_view: 'PageView',\n      'gtm.dom': 'PageView',\n      add_payment_info: 'AddPaymentInfo',\n      add_to_cart: 'AddToCart',\n      add_to_wishlist: 'AddToWishlist',\n      sign_up: 'CompleteRegistration',\n      begin_checkout: 'InitiateCheckout',\n      generate_lead: 'Lead',\n      purchase: 'Purchase',\n      search: 'Search',\n      view_item: 'ViewContent',\n\n      contact: 'Contact',\n      customize_product: 'CustomizeProduct',\n      donate: 'Donate',\n      find_location: 'FindLocation',\n      schedule: 'Schedule',\n      start_trial: 'StartTrial',\n      submit_application: 'SubmitApplication',\n      subscribe: 'Subscribe',\n\n      page_view_stape: 'PageView',\n      add_payment_info_stape: 'AddPaymentInfo',\n      add_to_cart_stape: 'AddToCart',\n      sign_up_stape: 'CompleteRegistration',\n      begin_checkout_stape: 'InitiateCheckout',\n      purchase_stape: 'Purchase',\n      view_item_stape: 'ViewContent',\n\n      'gtm4wp.addProductToCartEEC': 'AddToCart',\n      'gtm4wp.productClickEEC': 'ViewContent',\n      'gtm4wp.checkoutOptionEEC': 'InitiateCheckout',\n      'gtm4wp.checkoutStepEEC': 'AddPaymentInfo',\n      'gtm4wp.orderCompletedEEC': 'Purchase'\n    };\n\n    if (!mapFacebookEventName[eventName]) {\n      return eventName;\n    }\n\n    return mapFacebookEventName[eventName];\n  }\n\n  return data.eventName === 'standard' ? data.eventNameStandard : data.eventNameCustom;\n}\n\nfunction getCommand(eventName) {\n  return [\n    'AddPaymentInfo',\n    'AddToCart',\n    'AddToWishlist',\n    'CompleteRegistration',\n    'Contact',\n    'CustomizeProduct',\n    'Donate',\n    'FindLocation',\n    'InitiateCheckout',\n    'Lead',\n    'PageView',\n    'Purchase',\n    'Schedule',\n    'Search',\n    'StartTrial',\n    'SubmitApplication',\n    'Subscribe',\n    'ViewContent'\n  ].indexOf(eventName) === -1\n    ? 'trackSingleCustom'\n    : 'trackSingle';\n}\n\nfunction getUserData() {\n  if (!data.enableEdvancedMatching) {\n    return;\n  }\n\n  let userData = {};\n\n  if (data.enableEventEnhancement) {\n    userData = getEventEnhancement(userData);\n  }\n\n  if (data.enableDataLayerMapping) {\n    let userDataFromDataLayer = getDL('user_data');\n\n    if (getType(userDataFromDataLayer) === 'object') {\n      parseUserData(userData, userDataFromDataLayer, true);\n    }\n  }\n\n  if (getType(data.userDataFromVariable) === 'object') {\n    parseUserData(userData, data.userDataFromVariable, false);\n  }\n\n  if (data.userDataList && data.userDataList.length) {\n    userData = mergeObjects(userData, makeTableMap(data.userDataList, 'name', 'value'));\n  }\n\n  if (objIsEmptyOrContainsOnlyFalsyValues(userData)) {\n    return;\n  }\n\n  if (data.enableEventEnhancement) {\n    storeEventEnhancement(userData);\n  }\n\n  return userData;\n}\n\nfunction getEventData(eventName) {\n  let objectProperties = {};\n\n  if (data.enableDataLayerMapping) {\n    const ecommerce = getDL('ecommerce');\n\n    if (ecommerce) {\n      objectProperties = getUAEventData(eventName, objectProperties, ecommerce);\n    }\n    if (!objectProperties.content_type) {\n      objectProperties = getGA4EventData(eventName, objectProperties, ecommerce);\n    }\n  }\n\n  if (getType(data.objectPropertiesFromVariable) === 'object') {\n    mergeObjects(objectProperties, data.objectPropertiesFromVariable);\n  }\n\n  if (data.objectPropertiesList && data.objectPropertiesList.length) {\n    objectProperties = mergeObjects(objectProperties, makeTableMap(data.objectPropertiesList, 'name', 'value'));\n  }\n\n  return objectProperties;\n}\n\nfunction getEventEnhancement() {\n  if (localStorage) {\n    const gtmeec = localStorage.getItem('gtmeec');\n\n    if (gtmeec) {\n      const gtmeecParsed = JSON.parse(gtmeec);\n\n      if (getType(gtmeecParsed) === 'object') {\n        return gtmeecParsed;\n      }\n    }\n  }\n\n  return {};\n}\n\nfunction normalizeBasedOnSchemaKey(schemaKey, identifier) {\n  if (schemaKey === 'ph') return normalizePhoneNumber(identifier);\n  else if (schemaKey === 'ct' || schemaKey === 'st' || schemaKey === 'zp') {\n    return removeWhiteSpace(identifier);\n  } else return identifier;\n}\n\nfunction hashUserDataFields(userData, storeUserDataInLocalStorage) {\n  const canUseHashSync = getType(copyFromWindow('dataTag256')) === 'function';\n  const hashAsyncHelpers = {\n    pendingHashs: 0,\n    maybeFinish: (userDataHashed) => {\n      if (hashAsyncHelpers.pendingHashs === 0) storeUserDataInLocalStorage(userDataHashed);\n    }\n  };\n\n  const userDataHashed = {};\n\n  const fieldNames = Object.keys(userData);\n  fieldNames.forEach((fieldName) => {\n    const value = userData[fieldName];\n\n    if (value === undefined || value === null || value === '') return;\n    if (isHashed(value)) {\n      userDataHashed[fieldName] = value;\n      return;\n    }\n\n    const normalizedValue = makeString(normalizeBasedOnSchemaKey(fieldName, value)).toLowerCase().trim();\n    if (canUseHashSync) userDataHashed[fieldName] = callInWindow('dataTag256', normalizedValue, 'HEX');\n    else {\n      hashAsyncHelpers.pendingHashs++;\n      sha256(\n        normalizedValue,\n        (digest) => {\n          userDataHashed[fieldName] = digest;\n          hashAsyncHelpers.pendingHashs--;\n          hashAsyncHelpers.maybeFinish(userDataHashed);\n        },\n        () => {\n          hashAsyncHelpers.pendingHashs--;\n        },\n        { outputEncoding: 'hex' }\n      );\n    }\n  });\n\n  if (canUseHashSync) {\n    storeUserDataInLocalStorage(userDataHashed);\n    return userDataHashed;\n  } else {\n    hashAsyncHelpers.maybeFinish(userDataHashed);\n    return;\n  }\n}\n\nfunction storeUserDataInLocalStorage(userData) {\n  if (!objHasProps(userData)) return;\n  const gtmeec = JSON.stringify(userData);\n  localStorage.setItem('gtmeec', gtmeec);\n}\n\nfunction storeEventEnhancement(userData) {\n  if (localStorage && objHasProps(userData)) {\n    if (!data.storeUserDataHashed) storeUserDataInLocalStorage(userData);\n    else hashUserDataFields(userData, storeUserDataInLocalStorage);\n  }\n}\n\nfunction sendDataLayerPush() {\n  if (data.dataLayerEventPush) {\n    const dataLayerQueueName = data.dataLayerVariableName || 'dataLayer';\n    const dataLayerPush = createQueue(dataLayerQueueName);\n\n    dataLayerPush({ eventId: data.eventId, event: data.dataLayerEventName || 'DefaultTagEvent' });\n  }\n}\n\nfunction parseUserData(userData, userDataFrom, useDL) {\n  let email = userDataFrom.email || userDataFrom.sha256_email_address || userDataFrom.email_address || userDataFrom.em;\n  const emailType = getType(email);\n  if (emailType === 'array' || emailType === 'object') email = email[0];\n  if (email) userData.em = email;\n\n  let phone = userDataFrom.phone || userDataFrom.sha256_phone_number || userDataFrom.phone_number || userDataFrom.ph;\n  const phoneType = getType(phone);\n  if (phoneType === 'array' || phoneType === 'object') phone = phone[0];\n  if (phone) userData.ph = phone;\n\n  if (userDataFrom.firstName) userData.fn = userDataFrom.firstName;\n  else if (userDataFrom.nameFirst) userData.fn = userDataFrom.nameFirst;\n  else if (userDataFrom.first_name) userData.fn = userDataFrom.first_name;\n  else if (userDataFrom.fn) userData.fn = userDataFrom.fn;\n  else if (userDataFrom.address && userDataFrom.address.sha256_first_name) userData.fn = userDataFrom.address.sha256_first_name;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].sha256_first_name) userData.fn = userDataFrom.address[0].sha256_first_name;\n  else if (userDataFrom.address && userDataFrom.address.first_name) userData.fn = userDataFrom.address.first_name;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].first_name) userData.fn = userDataFrom.address[0].first_name;\n\n  if (userDataFrom.lastName) userData.ln = userDataFrom.lastName;\n  else if (userDataFrom.nameLast) userData.ln = userDataFrom.nameLast;\n  else if (userDataFrom.last_name) userData.ln = userDataFrom.last_name;\n  else if (userDataFrom.ln) userData.ln = userDataFrom.ln;\n  else if (userDataFrom.address && userDataFrom.address.sha256_last_name) userData.ln = userDataFrom.address.sha256_last_name;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].sha256_last_name) userData.ln = userDataFrom.address[0].sha256_last_name;\n  else if (userDataFrom.address && userDataFrom.address.last_name) userData.ln = userDataFrom.address.last_name;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].last_name) userData.ln = userDataFrom.address[0].last_name;\n\n  if (userDataFrom.ge) userData.ge = userDataFrom.ge;\n  if (userDataFrom.db) userData.db = userDataFrom.db;\n\n  if (userDataFrom.city) userData.ct = userDataFrom.city;\n  else if (userDataFrom.ct) userData.ct = userDataFrom.ct;\n  else if (userDataFrom.address && userDataFrom.address.city) userData.ct = userDataFrom.address.city;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].city) userData.ct = userDataFrom.address[0].city;\n\n  if (userDataFrom.state) userData.st = userDataFrom.state;\n  else if (userDataFrom.region) userData.st = userDataFrom.region;\n  else if (userDataFrom.st) userData.st = userDataFrom.st;\n  else if (userDataFrom.address && userDataFrom.address.state) userData.st = userDataFrom.address.state;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].state) userData.st = userDataFrom.address[0].state;\n  else if (userDataFrom.address && userDataFrom.address.region) userData.st = userDataFrom.address.region;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].region) userData.st = userDataFrom.address[0].region;\n\n  if (userDataFrom.zip) userData.zp = userDataFrom.zip;\n  else if (userDataFrom.postal_code) userData.zp = userDataFrom.postal_code;\n  else if (userDataFrom.zp) userData.zp = userDataFrom.zp;\n  else if (userDataFrom.address && userDataFrom.address.postal_code) userData.zp = userDataFrom.address.postal_code;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].postal_code) userData.zp = userDataFrom.address[0].postal_code;\n  else if (userDataFrom.address && userDataFrom.address.zip) userData.zp = userDataFrom.address.zip;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].zip) userData.zp = userDataFrom.address[0].zip;\n\n  if (userDataFrom.country) userData.country = userDataFrom.country;\n  else if (userDataFrom.address && userDataFrom.address.country) userData.country = userDataFrom.address.country;\n  else if (userDataFrom.address && userDataFrom.address[0] && userDataFrom.address[0].country) userData.country = userDataFrom.address[0].country;\n\n  if (userDataFrom.external_id) userData.external_id = userDataFrom.external_id;\n  else if (userDataFrom.user_id) userData.external_id = userDataFrom.user_id;\n  else if (userDataFrom.userId) userData.external_id = userDataFrom.userId;\n  else if (useDL && getDL('external_id')) userData.external_id = getDL('external_id');\n  else if (useDL && getDL('user_id')) userData.external_id = getDL('user_id');\n  else if (useDL && getDL('userId')) userData.external_id = getDL('userId');\n\n  return userData;\n}\n\nfunction getUAEventData(eventName, objectProperties, ecommerce) {\n  const eventActionMap = {\n    ViewContent: 'detail',\n    AddToCart: 'add',\n    InitiateCheckout: 'checkout',\n    Purchase: 'purchase'\n  };\n\n  if (eventActionMap[eventName]) {\n    const action = eventActionMap[eventName];\n\n    if (ecommerce[action] && ecommerce[action].products && getType(ecommerce[action].products) === 'array') {\n      objectProperties = {\n        content_type: 'product',\n        contents: ecommerce[action].products.map((prod) => ({\n          id: prod.id,\n          quantity: makeNumber(prod.quantity) || 1,\n          item_price: makeNumber(prod.price)\n        })),\n        content_ids: ecommerce[action].products.map((prod) => prod.id),\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\n      if (['InitiateCheckout', 'Purchase'].indexOf(eventName) > -1)\n        objectProperties.num_items = ecommerce[action].products.reduce((acc, cur) => {\n          return acc + makeNumber(cur.quantity || 1);\n        }, 0);\n    }\n  }\n\n  return objectProperties;\n}\n\nfunction getGA4EventData(eventName, objectProperties, ecommerce) {\n  let items = getDL('items');\n  if (!items && ecommerce && ecommerce.items) {\n    items = ecommerce.items;\n  }\n  let currencyFromItems = '';\n  let valueFromItems = 0;\n\n  if (items && items[0]) {\n    objectProperties.contents = [];\n    objectProperties.content_ids = [];\n    objectProperties.content_type = 'product';\n    if (['InitiateCheckout', 'Purchase'].indexOf(eventName) > -1) {\n      objectProperties.num_items = 0;\n    }\n    currencyFromItems = items[0].currency;\n\n    if (!items[1]) {\n      if (items[0].item_name) objectProperties.content_name = items[0].item_name;\n      if (items[0].item_category) objectProperties.content_category = items[0].item_category;\n      if (items[0].price) objectProperties.value = items[0].quantity ? items[0].quantity * items[0].price : items[0].price;\n    }\n\n    items.forEach((d, i) => {\n      const content = {};\n      if (d.item_id) content.id = d.item_id;\n      content.quantity = makeNumber(d.quantity) || 1;\n\n      if (d.price) {\n        let item_price = makeNumber(d.price);\n        valueFromItems += d.quantity ? d.quantity * item_price : item_price;\n        content.item_price = item_price;\n      }\n\n      objectProperties.contents.push(content);\n      objectProperties.content_ids.push(content.id);\n      if (['InitiateCheckout', 'Purchase'].indexOf(eventName) > -1) {\n        objectProperties.num_items = objectProperties.num_items + content.quantity || 1;\n      }\n    });\n  }\n\n  if (getDL('value')) objectProperties.value = getDL('value');\n\n  if (getDL('currency')) objectProperties.currency = getDL('currency');\n  else if (currencyFromItems) objectProperties.currency = currencyFromItems;\n\n  if (getDL('search_term')) objectProperties.search_string = getDL('search_term');\n\n  if (eventName === 'Purchase') {\n    if (!objectProperties.currency) objectProperties.currency = 'USD';\n    if (!objectProperties.value) objectProperties.value = valueFromItems ? valueFromItems : 0;\n  }\n\n  return objectProperties;\n}\n\nfunction getDL(name) {\n  return copyFromDataLayer(name, dataLayerVersion);\n}\n\n/*==============================================================================\n  Helpers\n==============================================================================*/\n\nfunction mergeObjects(obj1, obj2) {\n  Object.keys(obj2).forEach((key) => {\n    obj1[key] = obj2[key];\n  });\n\n  return obj1;\n}\n\nfunction objHasProps(obj) {\n  return getType(obj) === 'object' && Object.keys(obj).length > 0;\n}\n\nfunction objIsEmptyOrContainsOnlyFalsyValues(obj) {\n  if (getType(obj) !== 'object') return;\n  const objValues = Object.values(obj);\n  if (objValues.length === 0 || objValues.every((v) => !v)) return true;\n}\n\nfunction isHashed(value) {\n  if (!value) return false;\n  return makeString(value).match('^[A-Fa-f0-9]{64}$') !== null;\n}\n\nfunction normalizePhoneNumber(phoneNumber) {\n  if (!phoneNumber) return phoneNumber;\n  return phoneNumber.split('+').join('').split(' ').join('').split('-').join('').split('(').join('').split(')').join('');\n}\n\nfunction removeWhiteSpace(input) {\n  if (!input) return input;\n  return input.split(' ').join('');\n}\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\": \"_meta_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\"\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.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                \"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\": \"dataLayer\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\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\": \"dataTag256\"\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          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"read_data_layer\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"allowedKeys\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"any\"\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\": \"access_local_storage\",\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                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"gtmeec\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\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\": \"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\": \"ad_storage\"\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\n\n___TESTS___\n\nscenarios:\n- name: 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 set').isEqualTo({eventID: mockData.eventId});\\n\\\n    \\    }\\n  };\\n});\\n     \\nrunCode(mockData);\\nassertApi('gtmOnSuccess').wasCalled();\"\nsetup: |-\n  const mockData = {\n    pixelIds: '123456789,987654321',\n    consent: true,\n    eventId: 'test'\n  };\n\n\n  let success, failure;\n  mock('injectScript', (url, onsuccess, onfailure) => {\n    success = onsuccess;\n    failure = onfailure;\n    onsuccess();\n  });\n\n  mock('copyFromWindow', key => {\n    if (key === 'fbq') return () => {};\n    if (key === 'dataLayer') return () => {};\n  });\n\n\n___NOTES___\n\nCreated on 08/15/2025, 08:58:45 AM\n\n\n",
                "galleryReference": {
                    "host": "github.com",
                    "owner": "stape-io",
                    "repository": "fb-tag",
                    "version": "ce6118a25adf6e17a94e29b2038238b1c499c907",
                    "signature": "cef887e65c0f820df4969a75182a55b909955bfdc35da8628c4f39b3e2f02fec",
                    "galleryTemplateId": "KFNBV"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "templateId": "4",
                "name": "TikTok Pixel",
                "fingerprint": "1767336685253",
                "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  \"type\": \"TAG\",\n  \"id\": \"cvt_MRQN8\",\n  \"version\": 1,\n  \"displayName\": \"TikTok Pixel\",\n  \"categories\": [\n    \"ADVERTISING\",\n    \"ANALYTICS\"\n  ],\n  \"brand\": {\n    \"id\": \"github.com_tiktok\",\n    \"displayName\": \"tiktok\",\n    \"thumbnail\": \"data:image/png;base64,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\\u003d\\u003d\"\n  },\n  \"description\": \"Install TikTok Pixel easily to your site without the need to write a line of code.\",\n  \"containerContexts\": [\n    \"WEB\"\n  ]\n}\n\n\n___TEMPLATE_PARAMETERS___\n\n[\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"Section 1 - TikTok Event Configuration\",\n    \"displayName\": \"TikTok Event Configuration\",\n    \"groupStyle\": \"NO_ZIPPY\",\n    \"subParams\": [\n      {\n        \"type\": \"TEXT\",\n        \"name\": \"pixel_code\",\n        \"displayName\": \"Pixel ID\",\n        \"simpleValueType\": true,\n        \"valueValidators\": [],\n        \"help\": \"You can find your Pixel ID in Events Manager\",\n        \"valueHint\": \"CD9079RC77U0N3GBV16Y\"\n      },\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"event\",\n        \"displayName\": \"Event Name\",\n        \"macrosInSelect\": true,\n        \"selectItems\": [\n          {\n            \"value\": \"CompletePayment\",\n            \"displayValue\": \"CompletePayment\"\n          },\n          {\n            \"value\": \"AddToCart\",\n            \"displayValue\": \"AddToCart\"\n          },\n          {\n            \"value\": \"ViewContent\",\n            \"displayValue\": \"ViewContent\"\n          },\n          {\n            \"value\": \"InitiateCheckout\",\n            \"displayValue\": \"InitiateCheckout\"\n          },\n          {\n            \"value\": \"AddToWishlist\",\n            \"displayValue\": \"AddToWishlist\"\n          },\n          {\n            \"value\": \"AddPaymentInfo\",\n            \"displayValue\": \"AddPaymentInfo\"\n          },\n          {\n            \"value\": \"PlaceAnOrder\",\n            \"displayValue\": \"PlaceAnOrder\"\n          },\n          {\n            \"value\": \"Contact\",\n            \"displayValue\": \"Contact\"\n          },\n          {\n            \"value\": \"Download\",\n            \"displayValue\": \"Download\"\n          },\n          {\n            \"value\": \"SubmitForm\",\n            \"displayValue\": \"SubmitForm\"\n          },\n          {\n            \"value\": \"CompleteRegistration\",\n            \"displayValue\": \"CompleteRegistration\"\n          },\n          {\n            \"value\": \"Subscribe\",\n            \"displayValue\": \"Subscribe\"\n          },\n          {\n            \"value\": \"ClickButton\",\n            \"displayValue\": \"ClickButton\"\n          },\n          {\n            \"value\": \"Search\",\n            \"displayValue\": \"Search\"\n          }\n        ],\n        \"simpleValueType\": true,\n        \"help\": \"TikTok supports 14 standard events. You may refer to our \\u003ca href\\u003d\\\"https://ads.tiktok.com/help/article?aid\\u003d10028\\\" target\\u003d\\\"_blank\\\"\\u003edocumentation\\u003c/a\\u003e and choose a suitable event to tag.\",\n        \"defaultValue\": \"{{Event}}\"\n      }\n    ],\n    \"help\": \"\\u003ca href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004006287425\\\" target\\u003d\\\"_blank\\\"\\u003eLearn more\\u003c/a\\u003e about using TikTok Pixel with Google Tag Manager.\"\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"Section 3 - Parameter Override\",\n    \"displayName\": \"Parameter Override\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"subParams\": [\n      {\n        \"type\": \"LABEL\",\n        \"name\": \"Parameter Override Description\",\n        \"displayName\": \"\\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004110681154#item-link-How%20to%20set%20up%20deduplication\\\"\\u003eLearn more\\u003c/a\\u003e about how to manually configure event parameters with \\\"Parameter Override\\\".\"\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"Advanced Matching Configurations\",\n        \"displayName\": \"Advanced Matching Configurations\",\n        \"groupStyle\": \"NO_ZIPPY\",\n        \"subParams\": [\n          {\n            \"type\": \"RADIO\",\n            \"name\": \"hash\",\n            \"displayName\": \"Hashed / Non-Hashed AM Parameters\",\n            \"radioItems\": [\n              {\n                \"value\": \"hashed\",\n                \"displayValue\": \"SHA256 AM Parameters\"\n              },\n              {\n                \"value\": \"non-hashed\",\n                \"displayValue\": \"Plain AM Parameters\",\n                \"help\": \"TikTok Pixel will hash plain email and phone for you\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"help\": \"Tell us if your AM parameters have been hashed.\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"email\",\n            \"displayName\": \"Email\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"non-hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"phone\",\n            \"displayName\": \"Phone\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"non-hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"If the country code is 86, then do not include country code (example: 13800000000). Otherwise, include country code with + and remove any other characters (spaces, \\u0027-\\u0027) between numbers (example for US: +12133734253).\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"external_id\",\n            \"displayName\": \"External ID\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"non-hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Any unique identifier on the advertiser\\u0027s side, such as loyalty membership ID, user ID, or external cookie ID.\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"sha256_email\",\n            \"displayName\": \"SHA256 Hashed Email\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"sha256_phone\",\n            \"displayName\": \"SHA256 Hashed Phone\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"If the country code is 86, then do not include country code (example: 13800000000). Otherwise, include country code with + and remove any other characters (spaces, \\u0027-\\u0027) between numbers (example for US: +12133734253).\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"sha256_external_id\",\n            \"displayName\": \"SHA256 Hashed External ID\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Any unique identifier on the advertiser\\u0027s side, such as loyalty membership ID, user ID, or external cookie ID.\"\n          }\n        ],\n        \"help\": \"Advance matching parameters are hashed and then shared with TikTok to help attribute more conversions to your ads and improve ad retargeting. \\u003cbr\\u003e \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004110681154#item-link-User%20data\\\"\\u003eLearn more\\u003c/a\\u003e about how to format Advanced Matching parameters.\"\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"Properties\",\n        \"displayName\": \"Properties (e.g. product data)\",\n        \"groupStyle\": \"NO_ZIPPY\",\n        \"subParams\": [\n          {\n            \"type\": \"CHECKBOX\",\n            \"name\": \"enhance_ecomm\",\n            \"checkboxText\": \"Use Google Analytics E-commerce Data Layers (Recommended)\",\n            \"simpleValueType\": true,\n            \"help\": \"If you have Google\\u0027s \\u003ca href\\u003d\\\"https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type\\u003dgtm#implementation\\\" target\\u003d\\\"_blank\\\"\\u003eEnhanced E-Commerce\\u003c/a\\u003e or \\u003ca href\\u003d\\\"https://support.google.com/tagmanager/answer/6107169?hl\\u003den#standard-ecommerce\\\" target\\u003d\\\"_blank\\\"\\u003e Standard E-Commerce\\u003c/a\\u003e Data Layers set up to collect information about the shopping behavior of your users. TikTok will automatically collect these data as parameters to help you improve your ad performance.\",\n            \"defaultValue\": true\n          },\n          {\n            \"type\": \"RADIO\",\n            \"name\": \"ga_ecomm\",\n            \"displayName\": \"Google Analytics E-commerce Data Layers\",\n            \"radioItems\": [\n              {\n                \"value\": \"ecomm\",\n                \"displayValue\": \"Standard Ecommerce\"\n              },\n              {\n                \"value\": \"enhance_ecomm\",\n                \"displayValue\": \"Enhanced Ecommerce\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"defaultValue\": \"ecomm\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"ecomm_currency\",\n            \"displayName\": \"Currency\",\n            \"simpleValueType\": true,\n            \"valueHint\": \"USD\",\n            \"help\": \"If you haven\\u0027t added the currency to the e-commerce data layer, add the current code here. Note: Adding the code will replace the \\u0027currency code\\u0027 or \\u0027currency\\u0027 field from your data layer.\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"RADIO\",\n            \"name\": \"single_multi_product\",\n            \"displayName\": \"Manually Input Single / Multiple Products from Data Layer\",\n            \"radioItems\": [\n              {\n                \"value\": \"single\",\n                \"displayValue\": \"Single Content\"\n              },\n              {\n                \"value\": \"multiple\",\n                \"displayValue\": \"Multiple Contents\",\n                \"help\": \"Send a list of contents as a JSON string. \\u003ca href\\u003d\\\"https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON\\\" target\\u003d\\\"_blank\\\"\\u003eLearn more about JSON\\u003c/a\\u003e\"\n              },\n              {\n                \"value\": \"empty\",\n                \"displayValue\": \"No Contents\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"contents\",\n            \"displayName\": \"contents\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"multiple\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Please make sure \\\"contents\\\" is \\u003ca href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004110681154#item-link-contents%20parameters\\\" target\\u003d\\\"_blank\\\"\\u003ea list of valid content objects\\u003c/a\\u003e or encoded as \\u003ca href\\u003d\\\"https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON\\\" target\\u003d\\\"_blank\\\"\\u003ea valid JSON string\\u003c/a\\u003e.\",\n            \"valueHint\": \"[{\\\"content_id\\\": \\\"abc\\\", \\\"price\\\": 10, \\\"quantity\\\": 1}]\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"content_id\",\n            \"displayName\": \"content_id\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Unique ID of the item, either SKU ID or item group ID\"\n          },\n          {\n            \"type\": \"SELECT\",\n            \"name\": \"content_type\",\n            \"displayName\": \"content_type\",\n            \"macrosInSelect\": false,\n            \"selectItems\": [\n              {\n                \"value\": \"product\",\n                \"displayValue\": \"product\"\n              },\n              {\n                \"value\": \"product_group\",\n                \"displayValue\": \"product_group\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Select \\\"product\\\" if your content_id is SKU ID, or select \\\"product_group\\\" if your content_id is item group ID\",\n            \"notSetText\": \"\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"content_name\",\n            \"displayName\": \"content_name\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Title of your product or page\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"content_category\",\n            \"displayName\": \"content_category\",\n            \"simpleValueType\": true,\n            \"help\": \"Recommended: Category of the product or page\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"price\",\n            \"displayName\": \"price\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Price of this item\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"quantity\",\n            \"displayName\": \"quantity\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Quantity of this item\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"value\",\n            \"displayName\": \"value\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Total value of the order\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"currency\",\n            \"displayName\": \"currency\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: ISO 4217 code. Examples: \\\"EUR\\\", \\\"USD\\\", \\\"JPY\\\". See \\u003ca href\\u003d\\\"https://ads.tiktok.com/help/article/about-parameters?lang\\u003den\\\" target\\u003d\\\"_blank\\\"\\u003ehere\\u003c/a\\u003e for a list of currencies supported.\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"description\",\n            \"displayName\": \"description\",\n            \"simpleValueType\": true,\n            \"help\": \"Recommended: Description of the product or page\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"brand\",\n            \"displayName\": \"brand\",\n            \"simpleValueType\": true,\n            \"help\": \"Recommended: Brand name of the product\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"query\",\n            \"displayName\": \"query\",\n            \"simpleValueType\": true,\n            \"help\": \"Recommended for Search events: The text string that was searched for. For instance, a person searches for a product on your website, you can forward the keyword being searched here.\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"status\",\n            \"displayName\": \"status\",\n            \"simpleValueType\": true,\n            \"help\": \"Optional: Status of an order, item, or service.\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          }\n        ],\n        \"help\": \"Configure and send \\u003ca href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004110681154#item-link-Product%20data\\\" target\\u003d\\\"_blank\\\"\\u003eadditional parameters\\u003c/a\\u003e to TikTok for to improve Ad performance and unlock Ad features.\"\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"De-duplication Configurations\",\n        \"displayName\": \"De-duplication Configurations\",\n        \"groupStyle\": \"NO_ZIPPY\",\n        \"subParams\": [\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"event_id\",\n            \"displayName\": \"Event ID\",\n            \"simpleValueType\": true\n          }\n        ],\n        \"help\": \"If you use both TikTok Pixel template and Events API template to send events, you can set up Event ID to deduplicate the two sources. \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004097478658#item-link-How%20to%20set%20up%20deduplication\\\"\\u003eLearn more\\u003c/a\\u003e about how to set up deduplication.\"\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"Section 2 - Additional Properties\",\n    \"displayName\": \"Additional Properties\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"subParams\": [\n      {\n        \"type\": \"LABEL\",\n        \"name\": \"Description\",\n        \"displayName\": \"You may configure and send more custom parameters to TikTok to unlock additional Ad features targeted at specific verticals (i.e. Travel)\"\n      },\n      {\n        \"type\": \"PARAM_TABLE\",\n        \"name\": \"custom_properties\",\n        \"displayName\": \"\",\n        \"paramTableColumns\": [\n          {\n            \"param\": {\n              \"type\": \"TEXT\",\n              \"name\": \"key\",\n              \"displayName\": \"Key\",\n              \"simpleValueType\": true,\n              \"canBeEmptyString\": false\n            },\n            \"isUnique\": true\n          },\n          {\n            \"param\": {\n              \"type\": \"TEXT\",\n              \"name\": \"value\",\n              \"displayName\": \"Value\",\n              \"simpleValueType\": true\n            },\n            \"isUnique\": false\n          }\n        ]\n      }\n    ]\n  }\n]\n\n\n___SANDBOXED_JS_FOR_WEB_TEMPLATE___\n\n/*\n * Copyright 2022 ByteDance Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst version = \"0_2_01\";\n\nconst log = require(\"logToConsole\");\nconst copyFromWindow = require(\"copyFromWindow\");\nconst copyFromDataLayer = require(\"copyFromDataLayer\");\nconst makeNumber = require(\"makeNumber\");\nconst callInWindow = require(\"callInWindow\");\nconst Object = require(\"Object\");\nconst JSON = require(\"JSON\");\n\nconst ecommerce = copyFromDataLayer(\"ecommerce\");\nconst eventModel = copyFromDataLayer(\"eventModel\");\nconst userDataFromDataLayer = copyFromDataLayer(\"user_data\");\nconst ttContents = copyFromDataLayer('tt_contents') || (eventModel && eventModel.tt_contents);\nconst ttContentType = copyFromDataLayer('tt_content_type') || (eventModel && eventModel.tt_content_type);\nconst ttExternalId = copyFromDataLayer('tt_external_id') || (eventModel && eventModel.tt_external_id);\n\nconst ValidEvents = {\n  ViewContent: 1,\n  ClickButton: 1,\n  Search: 1,\n  AddToWishlist: 1,\n  AddToCart: 1,\n  InitiateCheckout: 1,\n  AddPaymentInfo: 1,\n  CompletePayment: 1,\n  PlaceAnOrder: 1,\n  Contact: 1,\n  Download: 1,\n  SubmitForm: 1,\n  CompleteRegistration: 1,\n  Subscribe: 1,\n};\n\nconst TTEventMap = {\n  'add_payment_info': 'AddPaymentInfo',\n  'add_to_cart': 'AddToCart',\n  'add_to_wishlist': 'AddToWishlist',\n  'begin_checkout': 'InitiateCheckout',\n  'page_view': 'Pageview',\n  'purchase': 'CompletePayment',\n  'search': 'Search',\n  'sign_up': 'CompleteRegistration',\n  'view_item': 'ViewContent',\n};\n\nconst checkExistence = (key) => {\n  return typeof copyFromWindow(key) !== \"undefined\";\n};\n\nconst looksLikeSHA256 = (s) => {\n  return s && s.length == 64;\n};\n\nconst getConfigHash = (data) => {\n  // What API is used. 0: None, 1: Tag Manager, 2: Google Tag, 3: Both\n  var apiVersion = 0;\n  if (ecommerce || userDataFromDataLayer) apiVersion += 1;\n  if (eventModel && (eventModel.items || eventModel.value || eventModel.currency || eventModel.user_data)) apiVersion += 2;\n\n  var contents = 0;\n  if (data.enhance_ecomm == false && data.single_multi_product == \"empty\") contents = 1;\n  else if (data.enhance_ecomm == false && data.single_multi_product == \"single\") contents = 2;\n  else if (data.enhance_ecomm == false && data.single_multi_product == \"multiple\") contents = 3;\n  else if (data.enhance_ecomm == true && data.ga_ecomm == \"enhance_ecomm\") contents = 4;\n  else if (data.enhance_ecomm == true && data.ga_ecomm == \"ecomm\") contents = 5;\n\n  return '' + apiVersion + contents;\n};\n\nconst getEnhancedEcommerceData = (data, ecommerce) => {\n  if (!ecommerce) {\n    return null;\n  }\n\n  if (data.event == \"ViewContent\" && ecommerce.detail && ecommerce.detail.products) {\n    return ecommerce.detail.products;\n  } else if (data.event == \"AddToCart\" && ecommerce.add && ecommerce.add.products) {\n    return ecommerce.add.products;\n  } else if ((data.event == \"InitiateCheckout\" || data.event == \"AddPaymentInfo\") && ecommerce.checkout && ecommerce.checkout.products) {\n    return ecommerce.checkout.products;\n  } else if ((data.event == \"CompletePayment\" || data.event == \"PlaceAnOrder\" || data.event == \"Subscribe\") && ecommerce.purchase && ecommerce.purchase.products) {\n    return ecommerce.purchase.products;\n  } else {\n    if (ecommerce.detail && ecommerce.detail.products)\n      return ecommerce.detail.products;\n    if (ecommerce.add && ecommerce.add.products)\n      return ecommerce.add.products;\n    if (ecommerce.checkout && ecommerce.checkout.products)\n      return ecommerce.checkout.products;\n    if (ecommerce.purchase && ecommerce.purchase.products)\n      return ecommerce.purchase.products;\n  }\n  return null;\n};\n\nconst getItemCategories = (item) => {\n  var categories = [];\n  if (item.item_category) categories.push(item.item_category);\n  if (item.item_category2) categories.push(item.item_category2);\n  if (item.item_category3) categories.push(item.item_category3);\n  if (item.item_category4) categories.push(item.item_category4);\n  if (item.item_category5) categories.push(item.item_category5);\n\n  if (categories.length > 0) {\n    return categories.join(',');\n  }\n\n  return null;\n};\n\nconst getEcommerceData = (data, ecommerce) => {\n  var value = 0;\n  var currency = \"USD\"; // default value\n  var contents = [];\n\n  /* \n    Standard Ecommerce Support. For more details on Ecommerce Data Structure\n    https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtm\n    We will need to check for standard ecommerce events if Enhanced Ecommerce doesnt work\n  */\n  const secData = (ecommerce && ecommerce.items) || (eventModel && eventModel.items) || ttContents;\n  if (secData) {\n    log(\"1a. Standard Ecommerce - Data layers detected\");\n    secData.map(function (ed) {\n      // Form the TikTok Parameter Object\n      var content = {};\n      if (ed.item_id) content.content_id = ed.item_id;\n      if (!ed.item_id && ed.id) content.content_id = ed.id;\n      if (ed.item_name) content.content_name = ed.item_name;\n      if (ed.item_brand) content.brand = ed.item_brand;\n      var categoryString = getItemCategories(ed);\n      if (categoryString) content.content_category = categoryString;\n      if (ed.price) content.price = makeNumber(ed.price);\n      if (ed.quantity) {\n        content.quantity = makeNumber(ed.quantity);\n      } else {\n        content.quantity = 1;\n      }\n      content.content_type = ttContentType || \"product\";\n      contents.push(content);\n      // Calulate the total value shown\n      if (ed.price) {\n        if (!ed.quantity) ed.quantity = 1;\n        value += ed.price * ed.quantity;\n      }\n    });\n  } else if (data.ga_ecomm == \"ecomm\") {\n    log(\"1a. Standard Ecommerce - Unable to detect any Data Layers\");\n  }\n\n  /* \n    Enhanced Ecommerce Support. Fore more details on Enhanced Ecommerce Data Structure\n    https://developers.google.com/analytics/devguides/collection/ua/gtm/enhanced-ecommerce#details\n    ViewContent = detail\n    AddToCart = add\n    InitiateCheckout, AddPaymentInfo = checkout\n    CompletePayment, PlaceAnOrder, Subscribe = purchase\n  */\n  const eecData = getEnhancedEcommerceData(data, ecommerce);\n  if (eecData !== null && contents.length == 0) {\n    log(\"1b. Enhanced Ecommerce - Data layers detected\");\n    eecData.map(function (ed) {\n      // Form the TikTok Parameter Object\n      var content = {};\n      if (ed.id) content.content_id = ed.id;\n      if (ed.name) content.content_name = ed.name;\n      if (ed.brand) content.brand = ed.brand;\n      if (ed.category) content.content_category = ed.category;\n      if (ed.price) content.price = makeNumber(ed.price);\n      if (ed.quantity) {\n        content.quantity = makeNumber(ed.quantity);\n      } else {\n        content.quantity = 1;\n      }\n      content.content_type = ttContentType || \"product\";\n      contents.push(content);\n      // Calulate the total value shown\n      if (ed.price) {\n        if (!ed.quantity) ed.quantity = 1;\n        value += ed.price * ed.quantity;\n      }\n    });\n  } else if (data.ga_ecomm == \"enhance_ecomm\") {\n    log(\"1b. Enhanced Ecommerce - Unable to detect any ecommerce data layers\");\n  }\n\n  if (data.ecomm_currency)\n    currency = data.ecomm_currency;\n  else if (ecommerce && ecommerce.currencyCode)\n    currency = ecommerce.currencyCode;\n  else if (ecommerce && ecommerce.currency)\n    currency = ecommerce.currency;\n  else if (eventModel && eventModel.currency)\n    currency = eventModel.currency;\n\n  if (ecommerce && ecommerce.value) {\n    value = ecommerce.value;\n  } else if (\n    ecommerce &&\n    ecommerce.purchase &&\n    ecommerce.purchase.actionField &&\n    ecommerce.purchase.actionField.revenue\n  ) {\n    value = ecommerce.purchase.actionField.revenue;\n  } else if (eventModel && eventModel.value) {\n    value = eventModel.value;\n  }\n\n  return {\n    value: value,\n    currency: currency,\n    contents: contents\n  };\n};\n\nconst isHashed = (val) => {\n  return val && val.match(\"^[A-Fa-f0-9]{64}$\") != null;\n};\n\nconst getUserDataFromDataLayer = () => {\n  var userData = {};\n  const email = (userDataFromDataLayer && (userDataFromDataLayer.email_address || userDataFromDataLayer.sha256_email_address)) ||\n    (eventModel && eventModel.user_data && (eventModel.user_data.email_address || eventModel.user_data.sha256_email_address));\n  if (email) {\n    if (isHashed(email)) {\n      userData.sha256_email = email;\n    } else {\n      userData.email = email;\n    }\n  }\n\n  const phone = (userDataFromDataLayer && (userDataFromDataLayer.phone_number || userDataFromDataLayer.sha256_phone_number)) ||\n    (eventModel && eventModel.user_data && (eventModel.user_data.phone_number || eventModel.user_data.sha256_phone_number));\n  if (phone) {\n    if (isHashed(phone)) {\n      userData.sha256_phone_number = phone;\n    } else {\n      userData.phone_number = phone;\n    }\n  }\n\n  if (ttExternalId) {\n    userData.external_id = ttExternalId;\n  }\n\n  return userData;\n};\n\nconst main = () => {\n  // Forming the passed in parameters\n  var parameters = {\n    gtm_version: version + ':' + getConfigHash(data),\n    event_trigger_source: 'GoogleTagManagerClient',\n  };\n  const ttEvent = TTEventMap[data.event] || data.event;\n\n  // Check if enhance ecomm is enabled.\n  if (data.enhance_ecomm == true) {\n    const ecomData = getEcommerceData(data, ecommerce);\n    parameters.currency = ecomData.currency;\n    parameters.value = ecomData.value;\n    if (ecomData.contents && ecomData.contents.length > 0) {\n      parameters.contents = ecomData.contents;\n    }\n  } else {\n    if (data.single_multi_product == \"single\") {\n      // Single Content\n      if (data.content_id) parameters.content_id = data.content_id;\n      if (data.content_type || ttContentType) parameters.content_type = data.content_type || ttContentType;\n      if (data.content_name) parameters.content_name = data.content_name;\n      if (data.price) parameters.price = makeNumber(data.price);\n      if (data.quantity) parameters.quantity = makeNumber(data.quantity);\n      if (data.currency) parameters.currency = data.currency;\n      if (data.value) {\n        parameters.value = makeNumber(data.value);\n      } else {\n        if (data.price && data.quantity) {\n          parameters.value = makeNumber(data.price) * makeNumber(data.quantity);\n        }\n      }\n      if (data.content_category)\n        parameters.content_category = data.content_category;\n      if (data.description) parameters.description = data.description;\n      if (data.query) parameters.query = data.query;\n      if (data.status) parameters.status = data.status;\n    } else if (data.single_multi_product == \"multiple\") {\n      // Multiple Content\n      if (data.contents) {\n        const parsedContents = JSON.parse(data.contents);\n        if (parsedContents !== undefined) {\n          parameters.contents = parsedContents;\n        } else {\n          parameters.contents = data.contents;\n        }\n      }\n      if (data.currency) parameters.currency = data.currency;\n      if (data.value) parameters.value = makeNumber(data.value);\n      if (data.description) parameters.description = data.description;\n      if (data.query) parameters.query = data.query;\n      if (data.status) parameters.status = data.status;\n    } else if (data.single_multi_product == \"empty\") {\n      // No Content\n      if (data.currency) parameters.currency = data.currency;\n      if (data.value) parameters.value = makeNumber(data.value);\n      if (data.description) parameters.description = data.description;\n      if (data.query) parameters.query = data.query;\n      if (data.status) parameters.status = data.status;\n    }\n  }\n\n  // Additional Object Properties\n  if (data.custom_properties && data.custom_properties.length > 0) {\n    for (let i = 0; i < data.custom_properties.length; i++) {\n      let objectParam = data.custom_properties[i];\n      if (objectParam.key) {\n        parameters[objectParam.key] = objectParam.value;\n      }\n    }\n  }\n\n  // Advanced Matching and sending TT events\n  var userData = getUserDataFromDataLayer();\n\n  if (data.hash == \"hashed\") {\n    // Send hashed data\n    if (data.sha256_email) userData.sha256_email = data.sha256_email;\n    if (data.sha256_phone)\n      userData.sha256_phone_number = data.sha256_phone;\n    // Note: The key is still \"external_id\"\n    if (data.sha256_external_id)\n      userData.external_id = data.sha256_external_id;\n    log(\"2a. Advanced matching with hashed PII\");\n  } else if (data.hash == \"non-hashed\") {\n    // Send non-hashed data and TikTok Pixel will hash it for you.\n    if (data.email) userData.email = data.email;\n    if (data.phone) userData.phone_number = data.phone;\n    if (data.external_id) userData.external_id = data.external_id;\n    log(\n      \"2b. Advanced matching without hashed data, TikTok Pixel will hash the data for you.\"\n    );\n  }\n\n  if (Object.keys(userData).length > 0) {\n    callInWindow(\"ttq.identify\", userData);\n  }\n\n  log(\n    \"3. Base code found, sending \",\n    ttEvent,\n    \"event with\",\n    parameters,\n    data.event_id\n  );\n\n  if (data.pixel_code) {\n    callInWindow(\"ttq.track\", ttEvent, parameters, {\n      event_id: data.event_id,\n      pixel_code: data.pixel_code\n    });\n  } else {\n    callInWindow(\"ttq.track\", ttEvent, parameters, {\n      event_id: data.event_id\n    });\n  }\n};\n\nconst validate = (data) => {\n  const errors = [];\n  const warnings = [];\n\n  // errors\n  if (!checkExistence(\"ttq\")) {\n    errors.push(\"ttq not found\");\n  }\n\n  // clean up\n  if (data.external_id) {\n    data.external_id = data.external_id.trim();\n  }\n\n  // warnings\n  // 1. Prevent user from passing in SHA256 hash as \"email\" or \"phone\" to avoid double-hashing.\n  // 2. Prevent user from passing in non-hash as \"sha256_email\" or \"sha256_phone\".\n  if (data.email) {\n    if (data.email.indexOf(\"@\") === -1)\n      warnings.push(\"data.email is not an email\");\n    if (looksLikeSHA256(data.email))\n      warnings.push(\"data.email appears to be a SHA256 hash\");\n  }\n  if (data.phone) {\n    if (looksLikeSHA256(data.phone))\n      warnings.push(\"data.phone appears to be a SHA256 hash\");\n  }\n  if (data.sha256_email) {\n    if (!looksLikeSHA256(data.sha256_email))\n      warnings.push(\"data.sha256_email is not a SHA256 hash\");\n  }\n  if (data.sha256_phone) {\n    if (!looksLikeSHA256(data.sha256_phone))\n      warnings.push(\"data.sha256_phone is not a SHA256 hash\");\n  }\n\n  if (TTEventMap[data.event] == undefined && ValidEvents[data.event] === undefined) {\n    warnings.push('data.event \"' + data.event + '\" is not a valid event');\n  }\n\n  for (const msg of warnings) {\n    log(\"[WARN] \" + msg);\n  }\n  for (const msg of errors) {\n    log(\"[ERROR] \" + msg);\n  }\n  return errors;\n};\n\nconst start = () => {\n  const errors = validate(data);\n  if (errors.length > 0) {\n    data.gtmOnFailure();\n    return;\n  }\n\n  main();\n\n  data.gtmOnSuccess();\n};\n\nstart();\n\n\n___WEB_PERMISSIONS___\n\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    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\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\": \"ttq\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\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\": \"ttq.identify\"\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\": \"ttq.track\"\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          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"read_data_layer\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"allowedKeys\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"any\"\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  }\n]\n\n\n___TESTS___\n\nscenarios:\n- name: Basic\n  code: \"const mockData = {\\n  event: 'view_item',\\n  pixel_code: 'my_pixel_code',\\n\\\n    \\  \\n  advance_matching: true,\\n  hash: \\\"non-hashed\\\",\\n  external_id: '   abc\\\n    \\   ',\\n  \\n  single_multi_product: 'single',\\n  content_type: 'product',\\n  content_id:\\\n    \\ 'abc123',\\n};\\nrunCode(mockData);\\n\\nassertThat(Calls['ttq.identify'].length).isStrictlyEqualTo(1);\\n\\\n    assertThat(Calls['ttq.identify'][0].params).isEqualTo({\\n  \\\"external_id\\\": \\\"\\\n    abc\\\"\\n});\\n\\nassertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\\nassertThat(Calls['ttq.track'][0].params.gtm_version).isEqualTo(\\\"\\\n    0_2_01:00\\\");\\nassertThat(Calls['ttq.track'][0].params.content_type).isEqualTo(\\\"\\\n    product\\\");\\nassertThat(Calls['ttq.track'][0].params.content_id).isEqualTo(\\\"\\\n    abc123\\\");\\nassertThat(Calls['ttq.track'][0].params.event_trigger_source).isEqualTo(\\\"\\\n    GoogleTagManagerClient\\\");\\nassertThat(Calls['ttq.track'][0].pixel.pixel_code).isEqualTo(\\\"\\\n    my_pixel_code\\\");\\nassertThat(Calls['ttq.track'][0].eventName).isEqualTo(\\\"ViewContent\\\"\\\n    );\\n\\nassertApi('gtmOnSuccess').wasCalled();\"\n- name: MissingPixelCode\n  code: |-\n    const mockData = {\n      event: 'ViewContent',\n    };\n    runCode(mockData);\n\n    assertThat(LogsError.length).isStrictlyEqualTo(0);\n    assertThat(Calls['ttq.track'][0].pixel.pixel_code).isEqualTo(undefined);\n- name: InvalidPII\n  code: \"const mockData = {\\n  event: 'CompletePayment',\\n  pixel_code: 'my_pixel_code',\\n\\\n    \\  \\n  email: 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    \\  phone: 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    \\  sha256_email: 'a@a.com',\\n  sha256_phone: '+11231231234',\\n};\\nrunCode(mockData);\\n\\\n    \\n// Check hashed PII not passed into plain PII fields\\nassertThat(LogsWarn).contains(\\\"\\\n    [WARN] data.email is not an email\\\");\\nassertThat(LogsWarn).contains(\\\"[WARN]\\\n    \\ data.email appears to be a SHA256 hash\\\");\\nassertThat(LogsWarn).contains(\\\"\\\n    [WARN] data.phone appears to be a SHA256 hash\\\");\\n\\n// Check plain PII not passed\\\n    \\ into hashed PII fields\\nassertThat(LogsWarn).contains(\\\"[WARN] data.sha256_email\\\n    \\ is not a SHA256 hash\\\");\\nassertThat(LogsWarn).contains(\\\"[WARN] data.sha256_phone\\\n    \\ is not a SHA256 hash\\\");\\n\\n\"\n- name: InvalidEvent\n  code: |\n    const mockData = {\n      event: 'InvalidEvent',\n      pixel_code: 'my_pixel_code',\n    };\n    runCode(mockData);\n\n    // Check we warn about invalid event name\n    assertThat(LogsWarn).contains('[WARN] data.event \"InvalidEvent\" is not a valid event');\n- name: ValidPIIHashed\n  code: \"const mockData = {\\n  event: 'CompletePayment',\\n  pixel_code: 'my_pixel_code',\\n\\\n    \\  \\n  hash: 'hashed',\\n  sha256_email: 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    \\  sha256_phone: 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    };\\nrunCode(mockData);\\n\\nassertThat(Calls['ttq.identify'].length).isStrictlyEqualTo(1);\\n\\\n    assertThat(Calls['ttq.identify'][0].params).isEqualTo({\\n  \\\"sha256_email\\\": 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    \\  \\\"sha256_phone_number\\\": 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad'\\n\\\n    });\\n\"\n- name: ValidPIIPlain\n  code: \"const mockData = {\\n  event: 'CompletePayment',\\n  pixel_code: 'my_pixel_code',\\n\\\n    \\  \\n  hash: 'non-hashed',\\n  email: 'a@a.com',\\n  phone: '+11231231234',\\n};\\n\\\n    runCode(mockData);\\n\\nassertThat(Calls['ttq.identify'].length).isStrictlyEqualTo(1);\\n\\\n    assertThat(Calls['ttq.identify'][0].params).isEqualTo({\\n  \\\"email\\\": 'a@a.com',\\n\\\n    \\  \\\"phone_number\\\": '+11231231234'\\n});\\n\\n\"\n- name: MultipleProducts\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      pixel_code: 'my_pixel_code',\n      single_multi_product: 'multiple',\n      contents: '[{\"content_id\": \"abc123\", \"price\": 1.23}]',\n    };\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_id).isEqualTo(\"abc123\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].price).isEqualTo(1.23);\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: MultipleProductsInvalidContentsJSON\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      event_id: '1234',\n      pixel_code: 'my_pixel_code',\n      single_multi_product: 'multiple',\n      contents: '[{\"content_id\": \"abc123\", \"price\": 1.23}]]]]]',\n    };\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    // Parsing failure should just forward the event to Pixel.\n    assertThat(Calls['ttq.track'][0].params.contents).isEqualTo('[{\"content_id\": \"abc123\", \"price\": 1.23}]]]]]');\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: SingleProduct\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      pixel_code: 'my_pixel_code',\n      single_multi_product: 'single',\n      content_id: 'abc123',\n      content_type: 'product',\n      content_name: 'tee shirt',\n      price: '12.34',\n      quantity: '2',\n      currency: 'USD',\n      value: '24.68',\n      custom_properties: [\n        {\n          key: 'custom_property_1',\n          value: 1,\n        },\n        {\n          key: 'custom_property_2',\n          value: '2',\n        },\n        {\n          key: '',\n          value: '3',\n        },\n      ],\n    };\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.content_id).isEqualTo(\"abc123\");\n    assertThat(Calls['ttq.track'][0].params.content_type).isEqualTo(\"product\");\n    assertThat(Calls['ttq.track'][0].params.content_name).isEqualTo(\"tee shirt\");\n    assertThat(Calls['ttq.track'][0].params.price).isEqualTo(12.34);\n    assertThat(Calls['ttq.track'][0].params.quantity).isEqualTo(2);\n    assertThat(Calls['ttq.track'][0].params.currency).isEqualTo(\"USD\");\n    assertThat(Calls['ttq.track'][0].params.value).isEqualTo(24.68);\n    assertThat(Calls['ttq.track'][0].params.custom_property_1).isEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.custom_property_2).isEqualTo('2');\n    assertThat(Calls['ttq.track'][0].params['']).isUndefined();\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: StandardEcommerce\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      pixel_code: 'my_pixel_code',\n      enhance_ecomm: true,\n      ecommerce: {\n        currency: 'CAD',\n        value: 7.77,\n        items: [\n          {\n              item_id: 'abc123',\n              item_name: 'tee shirt',\n              item_brand: 'mybrand',\n              item_category: \"Apparel\",\n              item_category2: \"Adult\",\n              item_category4: \"Crew\",\n              price: 9.99,\n              discount: 2.22,\n              quantity: 1\n          }\n        ]\n      }\n    };\n\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents.length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_id).isEqualTo(\"abc123\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_type).isEqualTo(\"product\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_name).isEqualTo(\"tee shirt\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_category).isEqualTo(\"Apparel,Adult,Crew\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].brand).isEqualTo(\"mybrand\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].price).isEqualTo(9.99);\n    assertThat(Calls['ttq.track'][0].params.contents[0].quantity).isEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.currency).isEqualTo(\"CAD\");\n    assertThat(Calls['ttq.track'][0].params.value).isEqualTo(7.77);\n\n    assertApi('gtmOnSuccess').wasCalled();\n- name: EnhancedEcommerce\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      pixel_code: 'my_pixel_code',\n      enhance_ecomm: true,\n      ecomm_currency: 'CNY',\n      ecommerce: {\n        detail: {\n          products: [{\n            name: 'tee shirt',\n            id: 'abc123',\n            price: '9.99',\n            brand: 'mybrand',\n            category: 'apparel',\n            variant: 'blue'\n           }]\n         }\n      }\n    };\n\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents.length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_id).isEqualTo(\"abc123\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_type).isEqualTo(\"product\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_name).isEqualTo(\"tee shirt\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_category).isEqualTo(\"apparel\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].brand).isEqualTo(\"mybrand\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].price).isEqualTo(9.99);\n    assertThat(Calls['ttq.track'][0].params.contents[0].quantity).isEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.currency).isEqualTo(\"CNY\");\n    assertThat(Calls['ttq.track'][0].params.value).isEqualTo(9.99);\n\n    assertApi('gtmOnSuccess').wasCalled();\nsetup: \"const log = require('logToConsole');\\n\\nconst LogsError = [];\\nconst LogsWarn\\\n  \\ = []; \\nconst Calls = {};\\n\\nmock('logToConsole', function() {\\n  if (arguments.length\\\n  \\ > 0 && arguments[0].substring(0, 7) == '[ERROR]') {\\n    LogsError.push(arguments[0]);\\n\\\n  \\  }\\n  if (arguments.length > 0 && arguments[0].substring(0, 6) == '[WARN]') {\\n\\\n  \\    LogsWarn.push(arguments[0]);\\n  }\\n  // Print out logs, as normally as possible\\n\\\n  \\  log(arguments); // Note: bind and call not available\\n});\\n\\nmock('callInWindow',\\\n  \\ function() {\\n  const fnName = arguments[0];\\n  Calls[fnName] = Calls[fnName]\\\n  \\ || [];\\n  const call = {};\\n  call.arguments = arguments;\\n  Calls[fnName].push(call);\\n\\\n  \\  \\n  if (fnName === 'ttq.identify') {\\n    call.params = arguments[1];\\n  } else\\\n  \\ if (fnName === 'ttq.track') {\\n    call.eventName = arguments[1];\\n    call.params\\\n  \\ = arguments[2];\\n    call.pixel = arguments[3];\\n  }\\n});\\n\\nmock('copyFromWindow',\\\n  \\ function(name) {\\n  // Assume base code always exists.\\n  return {};\\n});\\n\\n\\\n  mock('copyFromDataLayer', function(name) {\\n  if (name == \\\"ecommerce\\\") {\\n   \\\n  \\ return mockData.ecommerce;\\n  }\\n  \\n  return undefined;\\n});\"\n\n\n___NOTES___\n\nCreated on 19/08/2022, 17:04:57\n\n\n",
                "galleryReference": {
                    "host": "github.com",
                    "owner": "tiktok",
                    "repository": "gtm-template-pixel",
                    "version": "cfe618d563a596ca92bc2fe1002332ea8a752064",
                    "signature": "dc266f7c7b567a4d00dd3ea4d9742c409816d2be678413fac7d9a4977c55aae1",
                    "galleryTemplateId": "MRQN8"
                }
            },
            {
                "accountId": "6331670792",
                "containerId": "239376912",
                "templateId": "5",
                "name": "Cookie Creator",
                "fingerprint": "1767338582545",
                "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  \"type\": \"TAG\",\n  \"id\": \"cvt_5TGRX\",\n  \"version\": 1,\n  \"displayName\": \"Cookie Creator\",\n  \"brand\": {\n    \"id\": \"github.com_gtm-templates-anto-hed\",\n    \"displayName\": \"gtm-templates-anto-hed\",\n    \"thumbnail\": \"data:image/png;base64,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\\u003d\"\n  },\n  \"description\": \"This template allows you to easily create a Custom Cookie!\",\n  \"containerContexts\": [\n    \"WEB\"\n  ],\n  \"securityGroups\": []\n}\n\n\n___TEMPLATE_PARAMETERS___\n\n[\n  {\n    \"type\": \"TEXT\",\n    \"name\": \"text1CookieName\",\n    \"displayName\": \"Cookie Name\",\n    \"simpleValueType\": true,\n    \"help\": \"You must allow the cookie by specifying its settings in the permission tab. The name of the cookie must be similar to the name used in the field. \\n\\nFor allowed Cookie Name Permission; 1 - On GTM // 2 - Click on : Templates // 3 - Click on : Tag Template // Cookie Creator // 4 - Click on : Persmissions // 5 - Click on : Sets a cookie value // 6 - Click on : +Add allowed cookie // 7 - Fill : \\\"Cookie Name\\\" // 8 - Fill : \\\"*\\\" for Domain \\u0026 Path\\n\\nMore information: https://antoine-hervillard.com/gtm-templates-tag-create-a-custom-cookie/\",\n    \"defaultValue\": \"_my_cookie_name\",\n    \"valueValidators\": [\n      {\n        \"type\": \"NON_EMPTY\"\n      }\n    ],\n    \"alwaysInSummary\": true\n  },\n  {\n    \"type\": \"TEXT\",\n    \"name\": \"text1CookieValue\",\n    \"displayName\": \"Cookie Value\",\n    \"simpleValueType\": true,\n    \"valueValidators\": [\n      {\n        \"type\": \"NON_EMPTY\"\n      }\n    ],\n    \"alwaysInSummary\": false\n  },\n  {\n    \"type\": \"SELECT\",\n    \"name\": \"dropDownMenu1ExpireType\",\n    \"displayName\": \"Expiration mode\",\n    \"macrosInSelect\": false,\n    \"selectItems\": [\n      {\n        \"value\": \"minute\",\n        \"displayValue\": \"By minute\"\n      },\n      {\n        \"value\": \"hour\",\n        \"displayValue\": \"By hour\"\n      },\n      {\n        \"value\": \"day\",\n        \"displayValue\": \"By day\"\n      },\n      {\n        \"value\": \"months\",\n        \"displayValue\": \"By month\"\n      },\n      {\n        \"value\": \"date\",\n        \"displayValue\": \"Custom expiration date\"\n      },\n      {\n        \"value\": \"session\",\n        \"displayValue\": \"Session\"\n      }\n    ],\n    \"simpleValueType\": true,\n    \"help\": \"Specifie the duration of your cookie, if session is selected,  the cookie becomes a session cookie. A session finishes when the client shuts down, and session cookies will be removed.\",\n    \"defaultValue\": \"session\",\n    \"alwaysInSummary\": false\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"group1ExpirePerMinute\",\n    \"displayName\": \"Expiration by minute\",\n    \"groupStyle\": \"ZIPPY_OPEN\",\n    \"subParams\": [\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"dropDownMenu1ExpireMinute\",\n        \"displayName\": \"Number of minute(s) before expiration\",\n        \"macrosInSelect\": false,\n        \"selectItems\": [\n          {\n            \"value\": 5,\n            \"displayValue\": \"5min\"\n          },\n          {\n            \"value\": 10,\n            \"displayValue\": \"10min\"\n          },\n          {\n            \"value\": 20,\n            \"displayValue\": \"20min\"\n          },\n          {\n            \"value\": 30,\n            \"displayValue\": \"30min\"\n          },\n          {\n            \"value\": 40,\n            \"displayValue\": \"40min\"\n          },\n          {\n            \"value\": 50,\n            \"displayValue\": \"50min\"\n          }\n        ],\n        \"simpleValueType\": true\n      }\n    ],\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"dropDownMenu1ExpireType\",\n        \"paramValue\": \"minute\",\n        \"type\": \"EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"group1ExpirePerHour\",\n    \"displayName\": \"Expiration by hour\",\n    \"groupStyle\": \"ZIPPY_OPEN\",\n    \"subParams\": [\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"dropDownMenu1ExpireHour\",\n        \"displayName\": \"Number of hour(s) before expiration\",\n        \"macrosInSelect\": false,\n        \"selectItems\": [\n          {\n            \"value\": 1,\n            \"displayValue\": \"1h\"\n          },\n          {\n            \"value\": 2,\n            \"displayValue\": \"2h\"\n          },\n          {\n            \"value\": 3,\n            \"displayValue\": \"3h\"\n          },\n          {\n            \"value\": 4,\n            \"displayValue\": \"4h\"\n          },\n          {\n            \"value\": 5,\n            \"displayValue\": \"5h\"\n          },\n          {\n            \"value\": 6,\n            \"displayValue\": \"6h\"\n          },\n          {\n            \"value\": 7,\n            \"displayValue\": \"7h\"\n          },\n          {\n            \"value\": 8,\n            \"displayValue\": \"8h\"\n          },\n          {\n            \"value\": 9,\n            \"displayValue\": \"9h\"\n          },\n          {\n            \"value\": 10,\n            \"displayValue\": \"10h\"\n          },\n          {\n            \"value\": 11,\n            \"displayValue\": \"11h\"\n          },\n          {\n            \"value\": 12,\n            \"displayValue\": \"12h\"\n          },\n          {\n            \"value\": 13,\n            \"displayValue\": \"13h\"\n          },\n          {\n            \"value\": 14,\n            \"displayValue\": \"14h\"\n          },\n          {\n            \"value\": 15,\n            \"displayValue\": \"15h\"\n          },\n          {\n            \"value\": \"16h\",\n            \"displayValue\": \"16h\"\n          },\n          {\n            \"value\": 17,\n            \"displayValue\": \"17h\"\n          },\n          {\n            \"value\": 18,\n            \"displayValue\": \"18h\"\n          },\n          {\n            \"value\": 19,\n            \"displayValue\": \"19h\"\n          },\n          {\n            \"value\": 20,\n            \"displayValue\": \"20h\"\n          },\n          {\n            \"value\": 21,\n            \"displayValue\": \"21h\"\n          },\n          {\n            \"value\": 22,\n            \"displayValue\": \"22h\"\n          },\n          {\n            \"value\": 23,\n            \"displayValue\": \"23h\"\n          }\n        ],\n        \"simpleValueType\": true\n      }\n    ],\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"dropDownMenu1ExpireType\",\n        \"paramValue\": \"hour\",\n        \"type\": \"EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"group1ExpirePerDay\",\n    \"displayName\": \"Expiration by day\",\n    \"groupStyle\": \"ZIPPY_OPEN\",\n    \"subParams\": [\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"dropDownMenu1ExpireDays\",\n        \"displayName\": \"Number of day(s) before expiration\",\n        \"macrosInSelect\": false,\n        \"selectItems\": [\n          {\n            \"value\": 1,\n            \"displayValue\": \"1d\"\n          },\n          {\n            \"value\": 2,\n            \"displayValue\": \"2d\"\n          },\n          {\n            \"value\": 3,\n            \"displayValue\": \"3d\"\n          },\n          {\n            \"value\": 4,\n            \"displayValue\": \"4d\"\n          },\n          {\n            \"value\": 5,\n            \"displayValue\": \"5d\"\n          },\n          {\n            \"value\": 6,\n            \"displayValue\": \"6d\"\n          },\n          {\n            \"value\": 7,\n            \"displayValue\": \"7d\"\n          },\n          {\n            \"value\": 8,\n            \"displayValue\": \"8d\"\n          },\n          {\n            \"value\": 9,\n            \"displayValue\": \"9d\"\n          },\n          {\n            \"value\": 10,\n            \"displayValue\": \"10d\"\n          },\n          {\n            \"value\": 11,\n            \"displayValue\": \"11d\"\n          },\n          {\n            \"value\": 12,\n            \"displayValue\": \"12d\"\n          },\n          {\n            \"value\": 13,\n            \"displayValue\": \"13d\"\n          },\n          {\n            \"value\": 14,\n            \"displayValue\": \"14d\"\n          },\n          {\n            \"value\": 15,\n            \"displayValue\": \"15d\"\n          },\n          {\n            \"value\": 16,\n            \"displayValue\": \"16d\"\n          },\n          {\n            \"value\": 17,\n            \"displayValue\": \"17d\"\n          },\n          {\n            \"value\": 18,\n            \"displayValue\": \"18d\"\n          },\n          {\n            \"value\": 19,\n            \"displayValue\": \"19d\"\n          },\n          {\n            \"value\": 20,\n            \"displayValue\": \"20d\"\n          },\n          {\n            \"value\": 21,\n            \"displayValue\": \"21d\"\n          },\n          {\n            \"value\": 22,\n            \"displayValue\": \"22d\"\n          },\n          {\n            \"value\": 23,\n            \"displayValue\": \"23d\"\n          },\n          {\n            \"value\": 24,\n            \"displayValue\": \"24d\"\n          },\n          {\n            \"value\": 25,\n            \"displayValue\": \"25d\"\n          },\n          {\n            \"value\": 26,\n            \"displayValue\": \"26d\"\n          },\n          {\n            \"value\": 27,\n            \"displayValue\": \"27d\"\n          },\n          {\n            \"value\": 28,\n            \"displayValue\": \"28d\"\n          },\n          {\n            \"value\": 29,\n            \"displayValue\": \"29d\"\n          },\n          {\n            \"value\": 30,\n            \"displayValue\": \"30d\"\n          },\n          {\n            \"value\": 31,\n            \"displayValue\": \"31d\"\n          }\n        ],\n        \"simpleValueType\": true\n      }\n    ],\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"dropDownMenu1ExpireType\",\n        \"paramValue\": \"day\",\n        \"type\": \"EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"group1ExpirePerMonth\",\n    \"displayName\": \"Expiration by months\",\n    \"groupStyle\": \"ZIPPY_OPEN\",\n    \"subParams\": [\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"dropDownMenu1ExpireMonths\",\n        \"displayName\": \"Number of month(s) before expiration\",\n        \"macrosInSelect\": false,\n        \"selectItems\": [\n          {\n            \"value\": 1,\n            \"displayValue\": \"1m\"\n          },\n          {\n            \"value\": 2,\n            \"displayValue\": \"2m\"\n          },\n          {\n            \"value\": 3,\n            \"displayValue\": \"3m\"\n          },\n          {\n            \"value\": 4,\n            \"displayValue\": \"4m\"\n          },\n          {\n            \"value\": 5,\n            \"displayValue\": \"5m\"\n          },\n          {\n            \"value\": 6,\n            \"displayValue\": \"6m\"\n          },\n          {\n            \"value\": 7,\n            \"displayValue\": \"7m\"\n          },\n          {\n            \"value\": 8,\n            \"displayValue\": \"8m\"\n          },\n          {\n            \"value\": 9,\n            \"displayValue\": \"9m\"\n          },\n          {\n            \"value\": 10,\n            \"displayValue\": \"10m\"\n          },\n          {\n            \"value\": 11,\n            \"displayValue\": \"11m\"\n          },\n          {\n            \"value\": 12,\n            \"displayValue\": \"12m\"\n          },\n          {\n            \"value\": 16,\n            \"displayValue\": \"16m\"\n          },\n          {\n            \"value\": 24,\n            \"displayValue\": \"24m\"\n          }\n        ],\n        \"simpleValueType\": true\n      }\n    ],\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"dropDownMenu1ExpireType\",\n        \"paramValue\": \"months\",\n        \"type\": \"EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"group1ExpirePerCustom\",\n    \"displayName\": \"Custom expiration date\",\n    \"groupStyle\": \"ZIPPY_OPEN\",\n    \"subParams\": [\n      {\n        \"type\": \"TEXT\",\n        \"name\": \"dropDownMenu1ExpireCustom\",\n        \"displayName\": \"Enter date, exemple format : Wed, 21 Oct 2015 07:28:00 GMT\",\n        \"simpleValueType\": true,\n        \"help\": \"It\\u0027s important to respect the same date format for custom date expire. If you need more information about Date Formating: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Date\"\n      }\n    ],\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"dropDownMenu1ExpireType\",\n        \"paramValue\": \"date\",\n        \"type\": \"EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"group1enhanced\",\n    \"displayName\": \"Advanced Settings\",\n    \"groupStyle\": \"ZIPPY_OPEN_ON_PARAM\",\n    \"subParams\": [\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"group2CustomDomain\",\n        \"displayName\": \"Set Domain (optional)\",\n        \"groupStyle\": \"ZIPPY_OPEN_ON_PARAM\",\n        \"subParams\": [\n          {\n            \"type\": \"CHECKBOX\",\n            \"name\": \"checkbox1Domain\",\n            \"checkboxText\": \"Enable Domain Option\",\n            \"simpleValueType\": true,\n            \"help\": \"Auto by default. Set this value to \\u0027auto\\u0027 to try to write the cookie using the broadest possible domain, based on the document location. If that fails, it will try successively narrower subdomains. If all of those fail, it will try to write the cookie without a domain. If no value is set, this will try to write the cookie without a domain specified. Note: when a cookie without a domain specified is written to document.cookie, the user agent will default the cookie’s domain to the host of the current document location.\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"text1Domain\",\n            \"displayName\": \"Your domain\",\n            \"simpleValueType\": true,\n            \"valueValidators\": [],\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"checkbox1Domain\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"group2CustomPath\",\n        \"displayName\": \"Set Path (optional)\",\n        \"groupStyle\": \"ZIPPY_OPEN_ON_PARAM\",\n        \"subParams\": [\n          {\n            \"type\": \"CHECKBOX\",\n            \"name\": \"checkbox1Path\",\n            \"checkboxText\": \"Enable Path Option\",\n            \"simpleValueType\": true,\n            \"help\": \"When a cookie without a path specified is written to document.cookie, the user agent will default the cookie’s path to the path of the current document location.\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"text1Path\",\n            \"displayName\": \"Your path\",\n            \"simpleValueType\": true,\n            \"valueValidators\": [],\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"checkbox1Path\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          }\n        ],\n        \"enablingConditions\": []\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"group2CustomSameSite\",\n        \"displayName\": \"Set SameSite (optional)\",\n        \"groupStyle\": \"ZIPPY_OPEN_ON_PARAM\",\n        \"subParams\": [\n          {\n            \"type\": \"CHECKBOX\",\n            \"name\": \"checkbox1SameSite\",\n            \"checkboxText\": \"Enable SameSite Option\",\n            \"simpleValueType\": true,\n            \"help\": \"Asserts that a cookie must not be sent with cross-origin requests, providing some protection against cross-site request forgery attacks (CSRF).\\n\\nBrowsers are migrating to have cookies default to SameSite\\u003dLax. If a cookie is needed to be sent cross-origin, opt out of the SameSite restriction using the None directive. The None directive requires the Secure attribute.\"\n          },\n          {\n            \"type\": \"SELECT\",\n            \"name\": \"dropDownMenu1SameSite\",\n            \"displayName\": \"\",\n            \"macrosInSelect\": false,\n            \"selectItems\": [\n              {\n                \"value\": \"None\",\n                \"displayValue\": \"None\"\n              },\n              {\n                \"value\": \"Strict\",\n                \"displayValue\": \"Strict\"\n              },\n              {\n                \"value\": \"Lax\",\n                \"displayValue\": \"Lax\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"checkbox1SameSite\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          }\n        ]\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"group2CustomSecure\",\n        \"displayName\": \"Secure (optional)\",\n        \"groupStyle\": \"ZIPPY_OPEN_ON_PARAM\",\n        \"subParams\": [\n          {\n            \"type\": \"CHECKBOX\",\n            \"name\": \"checkbox1Secure\",\n            \"checkboxText\": \"Enable Secure Option\",\n            \"simpleValueType\": true,\n            \"help\": \"A secure cookie is only sent to the server when a request is made with the https: scheme. (However, confidential information should never be stored in HTTP Cookies, as the entire mechanism is inherently insecure and doesn\\u0027t encrypt any information.)\"\n          }\n        ]\n      }\n    ]\n  }\n]\n\n\n___SANDBOXED_JS_FOR_WEB_TEMPLATE___\n\nconst log = require('logToConsole');\nconst setCookie = require('setCookie');\nconst queryPermission = require('queryPermission');\nconst text1CookieName = data.text1CookieName;\nconst text1CookieValue = data.text1CookieValue;\nconst dropDownMenu1ExpireMinute = data.dropDownMenu1ExpireMinute;\nconst dropDownMenu1ExpireHour = data.dropDownMenu1ExpireHour;\nconst dropDownMenu1ExpireDays = data.dropDownMenu1ExpireDays;\nconst dropDownMenu1ExpireMonths = data.dropDownMenu1ExpireMonths;\nconst dropDownMenu1ExpireCustom = data.dropDownMenu1ExpireCustom;\nconst dropDownMenu1ExpireType = data.dropDownMenu1ExpireType;\nconst text1Domain = data.text1Domain;\nconst text1Path = data.text1Path;\nconst dropDownMenu1SameSite = data.dropDownMenu1SameSite;\nconst checkbox1SameSite = data.checkbox1SameSite;\nconst checkbox1Secure = data.checkbox1Secure;\n\nfunction expire(dropDownMenu1ExpireType) {\n  if (dropDownMenu1ExpireType === 'minute') {\n    return dropDownMenu1ExpireMinute * 60;\n  } else if (dropDownMenu1ExpireType === 'hour') {\n    return dropDownMenu1ExpireHour * 3600;\n  } else if (dropDownMenu1ExpireType === 'day') {\n    return dropDownMenu1ExpireDays * 86400;\n  } else if (dropDownMenu1ExpireType === 'months'){\n   \treturn dropDownMenu1ExpireMonths * 2629800;\n  }\n}\n\nfunction secure(checkbox1Secure) {\n  if (checkbox1Secure === true || checkbox1SameSite === true ) {\n      return true;\n      }\n}\n\nconst options = {\n  'domain': text1Domain,\n  'path': text1Path,\n  'max-age': expire(dropDownMenu1ExpireType),\n  'expires' : dropDownMenu1ExpireCustom,\n  'samesite' : dropDownMenu1SameSite,\n  'secure' : secure(checkbox1Secure)\n};\n\nlog(options);\nlog(checkbox1SameSite);\n\nsetCookie(text1CookieName, text1CookieValue, options);\ndata.gtmOnSuccess();\n\n\n___WEB_PERMISSIONS___\n\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\": \"set_cookies\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"allowedCookies\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"name\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"domain\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"path\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"secure\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"session\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"_my_cookie_name\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"name\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"domain\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"path\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"secure\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"session\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"internal\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"name\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"domain\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"path\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"secure\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"session\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"formulario_enviado\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  }\n                ]\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\nCreated on 8/24/2020, 11:59:46 AM\n\n\n",
                "galleryReference": {
                    "host": "github.com",
                    "owner": "gtm-templates-anto-hed",
                    "repository": "cookie-creator",
                    "version": "df9bdf35bf739ecd3e682c7cba2d8a22edce96f1",
                    "isModified": true,
                    "signature": "5894e3cde137d4afbd74440816f6b1637b8738202848b893326e89b078859823",
                    "galleryTemplateId": "5TGRX"
                }
            }
        ]
    }
}