{
    "exportFormatVersion": 2,
    "exportTime": "2023-10-13 13:47:53",
    "containerVersion": {
        "path": "accounts/112369054/containers/113129165/versions/0",
        "accountId": "112369054",
        "containerId": "113129165",
        "containerVersionId": "0",
        "container": {
            "path": "accounts/112369054/containers/113129165",
            "accountId": "112369054",
            "containerId": "113129165",
            "name": "Master Container",
            "publicId": "GTM-568679H",
            "usageContext": [
                "WEB"
            ],
            "fingerprint": "1681918439472",
            "tagManagerUrl": "https://tagmanager.google.com/#/container/accounts/112369054/containers/113129165/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-568679H"
            ]
        },
        "tag": [
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "106",
                "name": "Mailchimp Cross Domain",
                "type": "html",
                "priority": {
                    "type": "INTEGER",
                    "value": "10"
                },
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "html",
                        "value": "<script>\n    // some reference links\n    //http://stackoverflow.com/questions/486896/adding-a-parameter-to-the-url-with-javascript\n    //http://stackoverflow.com/questions/5999118/add-or-update-query-string-parameter\n\n    function captureMailchimpTrackers() {\n        var mc_eid = parseUrlArgs('mc_eid')\n        var mc_cid = parseUrlArgs('mc_cid')\n\n        if (mc_eid != \"\" && mc_cid != \"\") {\n            setCookie('mc_eid', mc_eid, 30)\n            setCookie('mc_cid', mc_cid, 30)\n        }\n    }\n\n    function processMailchimpTrackers() {\n        var mc_eid = getCookie('mc_eid')\n        var mc_cid = getCookie('mc_cid')\n\n        if (mc_eid != \"\" && mc_cid != \"\") {\n            decorateTicketsolveLinksWithMailchimpTrackers(mc_eid, mc_cid);\n            decorateTicketsolveiFrameSourceWithTrackers(mc_eid, mc_cid);\n        }\n    }\n\n    function decorateTicketsolveiFrameSourceWithTrackers(mc_eid, mc_cid) {\n        var iframed = {{iframed}};\n        if (iframed == 'no') {\n          return;\n        }\n            \n        var iframe = document.getElementById('ticketsolve-iframe');\n\n        if (iframe != null) {\n            iframe.src = updateQueryString('mc_cid', mc_cid, updateQueryString('mc_eid', mc_eid, iframe.src));\n        }\n    }\n\n    //http://stackoverflow.com/questions/10572735/javascript-getelement-by-href\n    function decorateTicketsolveLinksWithMailchimpTrackers(mc_eid, mc_cid) {\n        var els = document.getElementsByTagName(\"a\"),\n            els_length = els.length;\n\n        for (var i = 0, l = els_length; i < l; i++) {\n            var el = els[i];\n\n            if (el.href.match(/ticketsolve.com/)) {\n                el.href = updateQueryString('mc_cid', mc_cid, updateQueryString('mc_eid', mc_eid, el.href));\n            }\n        }\n    }\n\n    //-----------------------------------------------------------------------------------------------------------------\n\n    function parseUrlArgs(val) {\n        var result = \"\",\n            tmp = [];\n        var items = location.search.substr(1).split(\"&\");\n\n        for (var index = 0; index < items.length; index++) {\n            tmp = items[index].split(\"=\");\n            if (tmp[0] === val) result = decodeURIComponent(tmp[1]);\n        }\n\n        return result;\n    }\n\n    //-----------------------------------------------------------------------------------------------------------------\n\n    // http://stackoverflow.com/a/11654596/1100434\n\n    function updateQueryString(key, value, url) {\n        var re = new RegExp(\"([?&])\" + key + \"=.*?(&|#|$)(.*)\", \"gi\"),\n            hash;\n\n        if (re.test(url)) {\n            if (typeof value !== 'undefined' && value !== null)\n                return url.replace(re, '$1' + key + \"=\" + value + '$2$3');\n            else {\n                hash = url.split('#');\n                url = hash[0].replace(re, '$1$3').replace(/(&|\\?)$/, '');\n                if (typeof hash[1] !== 'undefined' && hash[1] !== null)\n                    url += '#' + hash[1];\n                return url;\n            }\n        }\n        else {\n            if (typeof value !== 'undefined' && value !== null) {\n                var separator = url.indexOf('?') !== -1 ? '&' : '?';\n                hash = url.split('#');\n                url = hash[0] + separator + key + '=' + value;\n                if (typeof hash[1] !== 'undefined' && hash[1] !== null)\n                    url += '#' + hash[1];\n                return url;\n            }\n            else\n                return url;\n        }\n    }\n\n    //-----------------------------------------------------------------------------------------------------------------\n\n    //http://www.w3schools.com/js/js_cookies.asp\n\n    function setCookie(cname, cvalue, exdays) {\n        var d = new Date();\n        d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));\n        var expires = \"expires=\" + d.toUTCString();\n        document.cookie = cname + \"=\" + cvalue + \"; \" + expires;\n    }\n\n    function getCookie(cname) {\n        var name = cname + \"=\";\n        var ca = document.cookie.split(';');\n        for (var i = 0; i < ca.length; i++) {\n            var c = ca[i];\n            while (c.charAt(0) == ' ') c = c.substring(1);\n            if (c.indexOf(name) == 0) return c.substring(name.length, c.length);\n        }\n        return \"\";\n    }\n\n    //-----------------------------------------------------------------------------------------------------------------\n  if({{Consent Opt in Marketing}}){\n    try {\n        captureMailchimpTrackers();\n        processMailchimpTrackers();\n    }\n    catch (e) {\n        console.log(e)\n    }\n  }\n</script>"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "supportDocumentWrite",
                        "value": "false"
                    }
                ],
                "fingerprint": "1682066901860",
                "firingTriggerId": [
                    "3"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "114",
                "name": "Consent Initialization",
                "type": "html",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "html",
                        "value": "<script>\n  window['ts-show-cookie-consent']=true;\n</script>"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "supportDocumentWrite",
                        "value": "false"
                    }
                ],
                "fingerprint": "1687524626020",
                "firingTriggerId": [
                    "2147479572"
                ],
                "parentFolderId": "110",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "118",
                "name": "GA4 - Config - Ticketsolve",
                "type": "googtag",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "tagId",
                        "value": "{{GA4 Configuration Tag}}"
                    },
                    {
                        "type": "LIST",
                        "key": "configSettingsTable",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "gtm_tag"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "GA4 - Config - Ticketsolve"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "send_page_view"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "true"
                                    }
                                ]
                            }
                        ]
                    }
                ],
                "fingerprint": "1697204635548",
                "firingTriggerId": [
                    "116",
                    "117"
                ],
                "parentFolderId": "108",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "122",
                "name": "GA4 - Ticketsolve ecommerce events",
                "type": "gaawe",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "sendEcommerceData",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "getEcommerceDataFrom",
                        "value": "dataLayer"
                    },
                    {
                        "type": "LIST",
                        "key": "eventSettingsTable",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "gtm_tag"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "GA4 - Ticketsolve ecommerce events - {{regex - Ticketsolve ecommerce events}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "method"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{dlv - method}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "{{regex - Ticketsolve ecommerce events}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "measurementIdOverride",
                        "value": "{{GA4 Configuration Tag}}"
                    }
                ],
                "fingerprint": "1697204646955",
                "firingTriggerId": [
                    "120"
                ],
                "parentFolderId": "108",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "126",
                "name": "Cookies Consent Marketing Enabled",
                "type": "html",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "html",
                        "value": "<script>\n  if(window['fbq']){\n    fbq('consent', 'grant');\n  }\n</script>"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "supportDocumentWrite",
                        "value": "false"
                    }
                ],
                "fingerprint": "1683897252873",
                "firingTriggerId": [
                    "125"
                ],
                "parentFolderId": "110",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "129",
                "name": "Facebook Pixel Purchase",
                "type": "cvt_113129165_68",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{Facebook Pixel ID}}"
                    },
                    {
                        "type": "LIST",
                        "key": "objectPropertyList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{tsCurrency}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{purchaseRevenue}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "standardEventName",
                        "value": "Purchase"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "disableAutoConfig",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedEcommerce",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dpoLDU",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "standard"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "objectPropertiesFromVariable",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "consent",
                        "value": "{{Consent Opt in Marketing}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "advancedMatching",
                        "value": "false"
                    }
                ],
                "fingerprint": "1683897252870",
                "firingTriggerId": [
                    "30"
                ],
                "parentFolderId": "123",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "131",
                "name": "Facebook Pixel All Pages",
                "type": "cvt_113129165_68",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{Facebook Pixel ID}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "standardEventName",
                        "value": "PageView"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "disableAutoConfig",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedEcommerce",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dpoLDU",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "standard"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "objectPropertiesFromVariable",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "consent",
                        "value": "{{Consent Opt in Marketing}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "advancedMatching",
                        "value": "false"
                    }
                ],
                "fingerprint": "1683897252870",
                "firingTriggerId": [
                    "2147479553",
                    "125"
                ],
                "parentFolderId": "123",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "132",
                "name": "Facebook Pixel Add to Cart",
                "type": "cvt_113129165_68",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{Facebook Pixel ID}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "standardEventName",
                        "value": "AddToCart"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "disableAutoConfig",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedEcommerce",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dpoLDU",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "standard"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "objectPropertiesFromVariable",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "consent",
                        "value": "{{Consent Opt in Marketing}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "advancedMatching",
                        "value": "false"
                    }
                ],
                "fingerprint": "1683897252871",
                "firingTriggerId": [
                    "37"
                ],
                "parentFolderId": "123",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "133",
                "name": "Cookies Consent Marketing Disabled",
                "type": "html",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "html",
                        "value": "<script>\n  if(window['fbq']){\n    fbq('consent', 'revoke');\n  }\n</script>"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "supportDocumentWrite",
                        "value": "false"
                    }
                ],
                "fingerprint": "1683897252873",
                "firingTriggerId": [
                    "130"
                ],
                "parentFolderId": "110",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "137",
                "name": "GA4 - Purchase",
                "type": "gaawe",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "sendEcommerceData",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "getEcommerceDataFrom",
                        "value": "dataLayer"
                    },
                    {
                        "type": "LIST",
                        "key": "eventSettingsTable",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "gtm_tag"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "GA4 - Purchase"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "purchase"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "measurementIdOverride",
                        "value": "{{GA4 Configuration Tag}}"
                    }
                ],
                "fingerprint": "1697204668657",
                "firingTriggerId": [
                    "109"
                ],
                "blockingTriggerId": [
                    "136"
                ],
                "parentFolderId": "108",
                "tagFiringOption": "ONCE_PER_LOAD",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "tagId": "140",
                "name": "TS Version Number",
                "type": "html",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "html",
                        "value": "<script type=\"text/javascript\">\n  // Create a new meta element\n  var meta = document.createElement(\"meta\");\n\n  // Set the name and content properties\n  meta.name = \"ts_version_number\";\n  meta.content = \"{{TS Version Number}}\";\n\n  // Append the meta element to the head of the document\n  document.getElementsByTagName(\"head\")[0].appendChild(meta);\n  \n  // Log the version number\n  window.console.info('Ticketsolve GTM Version', '{{TS Version Number}}');\n</script>"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "supportDocumentWrite",
                        "value": "false"
                    }
                ],
                "fingerprint": "1684228680395",
                "firingTriggerId": [
                    "2147479553"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            }
        ],
        "trigger": [
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "3",
                "name": "DOM Ready",
                "type": "DOM_READY",
                "fingerprint": "1681918522852"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "4",
                "name": "EEC - checkout",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "checkout"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522853"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "7",
                "name": "History Change",
                "type": "HISTORY_CHANGE",
                "filter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{History Source}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "popstate"
                            }
                        ]
                    },
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Page URL}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "orders"
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    },
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Page URL}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "hpp-callback"
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522855"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "14",
                "name": "HistoryChange on pushState",
                "type": "HISTORY_CHANGE",
                "filter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{History Source}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "pushState"
                            }
                        ]
                    },
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Page URL}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "orders"
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    },
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Page URL}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "hpp-callback"
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522857"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "27",
                "name": "PageView without orders",
                "type": "PAGEVIEW",
                "filter": [
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Page URL}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "orders"
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    },
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Page URL}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "hpp-callback"
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522860"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "28",
                "name": "EEC - removeFromCart",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "removeFromCart"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522861"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "29",
                "name": "EEC - impressionsPushed",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "impressionsPushed"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522861"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "30",
                "name": "EEC - purchase",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "purchase"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522861"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "33",
                "name": "EEC - productDetail",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "productDetail"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522862"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "37",
                "name": "EEC - addToCart",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "addToCart"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522864"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "43",
                "name": "EEC - productClick",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "productClick"
                            }
                        ]
                    }
                ],
                "fingerprint": "1681918522865"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "109",
                "name": "ga4 - purchase",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "purchase"
                            }
                        ]
                    }
                ],
                "fingerprint": "1683897252865",
                "parentFolderId": "108"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "116",
                "name": "ce - ticketsolve - new analytics consent accepted",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "ts.consent_update.analytics"
                            }
                        ]
                    }
                ],
                "filter": [
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{cookie - CookieControl}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "\"analytics\":\"accepted\""
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    }
                ],
                "fingerprint": "1683897252867",
                "parentFolderId": "108"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "117",
                "name": "pageview - ticketsolve - analytics consent accepted",
                "type": "PAGEVIEW",
                "filter": [
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{cookie - CookieControl}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "\"analytics\":\"accepted\""
                            }
                        ]
                    }
                ],
                "fingerprint": "1684397288281",
                "parentFolderId": "110"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "120",
                "name": "ce - Ticketsolve ecommerce events - analytics accepted",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "MATCH_REGEX",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": ".*"
                            }
                        ]
                    }
                ],
                "filter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{regex - Ticketsolve ecommerce events}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "null"
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    },
                    {
                        "type": "CONTAINS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{cookie - CookieControl}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "\"analytics\":\"accepted\""
                            }
                        ]
                    }
                ],
                "fingerprint": "1684397211904",
                "parentFolderId": "108"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "125",
                "name": "Consent Opt in Marketing",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "ts.consent_update.marketing"
                            }
                        ]
                    }
                ],
                "filter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Consent Opt in Marketing}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "true"
                            }
                        ]
                    }
                ],
                "fingerprint": "1683897252869",
                "parentFolderId": "110"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "130",
                "name": "ce - marketing consent not granted",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "ts.consent_update.marketing"
                            }
                        ]
                    }
                ],
                "filter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Consent Opt in Marketing}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "false"
                            }
                        ]
                    }
                ],
                "fingerprint": "1683897252870",
                "parentFolderId": "110"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "triggerId": "136",
                "name": "ce - analytics consent not granted",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "MATCH_REGEX",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": ".*"
                            }
                        ]
                    }
                ],
                "filter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{Consent Opt in Analytics}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "true"
                            },
                            {
                                "type": "BOOLEAN",
                                "key": "negate",
                                "value": "true"
                            }
                        ]
                    }
                ],
                "fingerprint": "1683897252872",
                "parentFolderId": "110"
            }
        ],
        "variable": [
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "64",
                "name": "url hostname",
                "type": "u",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "component",
                        "value": "HOST"
                    }
                ],
                "fingerprint": "1682066901843"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "65",
                "name": "false",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "function(){return false;}"
                    }
                ],
                "fingerprint": "1682066901857",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "67",
                "name": "element url",
                "type": "aev",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "varType",
                        "value": "URL"
                    }
                ],
                "fingerprint": "1682066901843"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "72",
                "name": "Ecommerce Category",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "Ecommerce"
                    }
                ],
                "fingerprint": "1682066901846"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "73",
                "name": "element classes",
                "type": "aev",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "varType",
                        "value": "CLASSES"
                    }
                ],
                "fingerprint": "1682066901846"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "74",
                "name": "purchaseRevenue",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "function() {\n  var purchaseTag = window.dataLayer.find(function(tag) { return tag.event === \"purchase\"; }); \n  if (purchaseTag && purchaseTag.ecommerce) {\n    return purchaseTag.ecommerce.value;\n  }\n  return undefined;\n}\n"
                    }
                ],
                "fingerprint": "1686825727080",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "78",
                "name": "Path with fragment",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "function() {\n  return {{Event}} === 'gtm.historyChange' && {{New History Fragment}} ? {{Page Path}} + '#' + {{New History Fragment}} : undefined;\n}"
                    }
                ],
                "fingerprint": "1682066901858"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "80",
                "name": "url",
                "type": "u",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "component",
                        "value": "URL"
                    }
                ],
                "fingerprint": "1682066901848"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "85",
                "name": "history new url fragment",
                "type": "aev",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "varType",
                        "value": "HISTORY_NEW_URL_FRAGMENT"
                    }
                ],
                "fingerprint": "1682066901849"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "86",
                "name": "iframed",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "no"
                    }
                ],
                "fingerprint": "1682066901849"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "88",
                "name": "element text",
                "type": "aev",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "varType",
                        "value": "TEXT"
                    }
                ],
                "fingerprint": "1682066901850"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "90",
                "name": "tsCurrency",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "function() {\n  return Tb.registry.lookup('controller:application').get('model.currency');\n}"
                    }
                ],
                "fingerprint": "1682066901859"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "91",
                "name": "url path",
                "type": "u",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "component",
                        "value": "PATH"
                    }
                ],
                "fingerprint": "1682066901850"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "94",
                "name": "element",
                "type": "aev",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "varType",
                        "value": "ELEMENT"
                    }
                ],
                "fingerprint": "1682066901851"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "96",
                "name": "history old url fragment",
                "type": "aev",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "varType",
                        "value": "HISTORY_OLD_URL_FRAGMENT"
                    }
                ],
                "fingerprint": "1682066901851"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "97",
                "name": "event",
                "type": "e",
                "fingerprint": "1682066901852"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "100",
                "name": "history change source",
                "type": "aev",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "varType",
                        "value": "HISTORY_CHANGE_SOURCE"
                    }
                ],
                "fingerprint": "1682066901852"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "104",
                "name": "element id",
                "type": "aev",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "varType",
                        "value": "ID"
                    }
                ],
                "fingerprint": "1682066901853"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "105",
                "name": "element target",
                "type": "aev",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "varType",
                        "value": "TARGET"
                    }
                ],
                "fingerprint": "1682066901853"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "107",
                "name": "referrer",
                "type": "f",
                "fingerprint": "1682066901853"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "111",
                "name": "Consent Opt in Analytics",
                "type": "j",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "TS_ANALYTICS_consent_opt_in"
                    }
                ],
                "fingerprint": "1683897252865",
                "parentFolderId": "110",
                "formatValue": {
                    "convertUndefinedToValue": {
                        "type": "TEMPLATE",
                        "value": "{{false}}"
                    }
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "112",
                "name": "Consent Opt out Analytics",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "function(){return !{{Consent Opt in Analytics}};}"
                    }
                ],
                "fingerprint": "1683897252872",
                "parentFolderId": "110",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "115",
                "name": "cookie - CookieControl",
                "type": "k",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "decodeCookie",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "CookieControl"
                    }
                ],
                "fingerprint": "1683897252866",
                "parentFolderId": "110",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "119",
                "name": "regex - Ticketsolve ecommerce events",
                "type": "remm",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "input",
                        "value": "{{Event}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "fullMatch",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "replaceAfterMatch",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "defaultValue",
                        "value": "null"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "ignoreCase",
                        "value": "true"
                    },
                    {
                        "type": "LIST",
                        "key": "map",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "add_shipping_info"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "add_shipping_info"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "add_to_cart"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "add_to_cart"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "begin_checkout"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "begin_checkout"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "impressionsPushed"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "view_item_list"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "login"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "login"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "productClick"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "select_item"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "productDetail"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "view_item"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "remove_from_cart"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "remove_from_cart"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "sign_up"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "sign_up"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "view_cart"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "view_cart"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "view_item_list"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "view_item_list"
                                    }
                                ]
                            }
                        ]
                    }
                ],
                "fingerprint": "1683897252867",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "121",
                "name": "dlv - method",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "method"
                    }
                ],
                "fingerprint": "1683897252868",
                "parentFolderId": "108",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "124",
                "name": "Consent Opt in Marketing",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "function(){\n  return window['TS_MARKETING_consent_opt_in'] || !'{{url hostname}}'.match(/ticketsolve.com/);\n}"
                    }
                ],
                "fingerprint": "1683897252873",
                "parentFolderId": "110",
                "formatValue": {
                    "convertUndefinedToValue": {
                        "type": "TEMPLATE",
                        "value": "{{false}}"
                    }
                }
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "127",
                "name": "dlv - ecommerce.transaction_id",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "ecommerce.transaction_id"
                    }
                ],
                "fingerprint": "1683897252869",
                "parentFolderId": "108",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "128",
                "name": "Facebook Pixel ID",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "0123456789"
                    }
                ],
                "fingerprint": "1683897252869",
                "parentFolderId": "123"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "134",
                "name": "dlv - ecommerce.items",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "dlv - ecommerce.items"
                    }
                ],
                "fingerprint": "1683897252871",
                "parentFolderId": "108",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "135",
                "name": "dlv - ecommerce.value",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "ecommerce.value"
                    }
                ],
                "fingerprint": "1683897252871",
                "parentFolderId": "108",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "139",
                "name": "TS Version Number",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "2.2"
                    }
                ],
                "fingerprint": "1697204730355",
                "formatValue": {}
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "variableId": "141",
                "name": "GA4 Configuration Tag",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "G-Your ID"
                    }
                ],
                "fingerprint": "1697204442531",
                "formatValue": {}
            }
        ],
        "folder": [
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "folderId": "108",
                "name": "GA4",
                "fingerprint": "1683897252864"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "folderId": "110",
                "name": "Cookie Consent",
                "fingerprint": "1683897252865"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "folderId": "123",
                "name": "Facebook / Meta",
                "fingerprint": "1683897252869"
            }
        ],
        "builtInVariable": [
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "type": "PAGE_URL",
                "name": "Page URL"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "type": "PAGE_HOSTNAME",
                "name": "Page Hostname"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "type": "PAGE_PATH",
                "name": "Page Path"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "type": "REFERRER",
                "name": "Referrer"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "type": "EVENT",
                "name": "Event"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "type": "NEW_HISTORY_FRAGMENT",
                "name": "New History Fragment"
            },
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "type": "HISTORY_SOURCE",
                "name": "History Source"
            }
        ],
        "fingerprint": "1697204873101",
        "tagManagerUrl": "https://tagmanager.google.com/#/versions/accounts/112369054/containers/113129165/versions/0?apiLink=version",
        "customTemplate": [
            {
                "accountId": "112369054",
                "containerId": "113129165",
                "templateId": "68",
                "name": "Facebook Pixel",
                "fingerprint": "1682066901844",
                "templateData": "___TERMS_OF_SERVICE___\n\nBy creating or modifying this file you agree to Google Tag Manager's Community\nTemplate Gallery Developer Terms of Service available at\nhttps://developers.google.com/tag-manager/gallery-tos (or such other URL as\nGoogle may provide), as modified from time to time.\n\n\n___INFO___\n\n{\n  \"displayName\": \"Facebook Pixel\",\n  \"__wm\": \"VGVtcGxhdGUtQXV0aG9yX0ZhY2Vib29rLVNpbW8tQWhhdmE\\u003d\",\n  \"description\": \"This is an unofficial Google Tag Manager template for the Facebook Pixel.\",\n  \"securityGroups\": [],\n  \"categories\": [\n    \"ADVERTISING\",\n    \"ANALYTICS\"\n  ],\n  \"id\": \"cvt_temp_public_id\",\n  \"type\": \"TAG\",\n  \"version\": 1,\n  \"brand\": {\n    \"displayName\": \"facebookarchive\",\n    \"id\": \"github.com_facebookarchive\",\n    \"thumbnail\": \"data:image/png;base64,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\"\n  },\n  \"containerContexts\": [\n    \"WEB\"\n  ]\n}\n\n\n___TEMPLATE_PARAMETERS___\n\n[\n  {\n    \"alwaysInSummary\": true,\n    \"valueValidators\": [\n      {\n        \"errorMessage\": \"You must provide a Pixel ID\",\n        \"type\": \"NON_EMPTY\"\n      },\n      {\n        \"args\": [\n          \"^[0-9,]+$\"\n        ],\n        \"errorMessage\": \"Invalid Pixel ID format\",\n        \"type\": \"REGEX\"\n      }\n    ],\n    \"displayName\": \"Facebook Pixel ID(s)\",\n    \"simpleValueType\": true,\n    \"name\": \"pixelId\",\n    \"type\": \"TEXT\",\n    \"valueHint\": \"e.g. 12345678910\"\n  },\n  {\n    \"type\": \"CHECKBOX\",\n    \"name\": \"enhancedEcommerce\",\n    \"checkboxText\": \"Enhanced Ecommerce dataLayer Integration\",\n    \"simpleValueType\": true,\n    \"help\": \"If you check this, then the Facebook pixel will populate \\u003cstrong\\u003eEvent Name\\u003c/strong\\u003e and \\u003cstrong\\u003eObject Properties\\u003c/strong\\u003e automatically from the last \\u003ca href\\u003d\\\"https://developers.google.com/tag-manager/enhanced-ecommerce\\\"\\u003eecommerce\\u003c/a\\u003e object pushed into the dataLayer array.\"\n  },\n  {\n    \"type\": \"RADIO\",\n    \"name\": \"eventName\",\n    \"displayName\": \"Event Name\",\n    \"radioItems\": [\n      {\n        \"value\": \"standard\",\n        \"displayValue\": \"Standard\",\n        \"subParams\": [\n          {\n            \"type\": \"SELECT\",\n            \"name\": \"standardEventName\",\n            \"macrosInSelect\": false,\n            \"selectItems\": [\n              {\n                \"displayValue\": \"PageView\",\n                \"value\": \"PageView\"\n              },\n              {\n                \"displayValue\": \"AddPaymentInfo\",\n                \"value\": \"AddPaymentInfo\"\n              },\n              {\n                \"displayValue\": \"AddToCart\",\n                \"value\": \"AddToCart\"\n              },\n              {\n                \"displayValue\": \"AddToWishlist\",\n                \"value\": \"AddToWishlist\"\n              },\n              {\n                \"displayValue\": \"CompleteRegistration\",\n                \"value\": \"CompleteRegistration\"\n              },\n              {\n                \"displayValue\": \"Contact\",\n                \"value\": \"Contact\"\n              },\n              {\n                \"displayValue\": \"CustomizeProduct\",\n                \"value\": \"CustomizeProduct\"\n              },\n              {\n                \"displayValue\": \"Donate\",\n                \"value\": \"Donate\"\n              },\n              {\n                \"displayValue\": \"FindLocation\",\n                \"value\": \"FindLocation\"\n              },\n              {\n                \"displayValue\": \"InitiateCheckout\",\n                \"value\": \"InitiateCheckout\"\n              },\n              {\n                \"displayValue\": \"Lead\",\n                \"value\": \"Lead\"\n              },\n              {\n                \"displayValue\": \"Purchase\",\n                \"value\": \"Purchase\"\n              },\n              {\n                \"displayValue\": \"Schedule\",\n                \"value\": \"Schedule\"\n              },\n              {\n                \"displayValue\": \"Search\",\n                \"value\": \"Search\"\n              },\n              {\n                \"displayValue\": \"StartTrial\",\n                \"value\": \"StartTrial\"\n              },\n              {\n                \"displayValue\": \"SubmitApplication\",\n                \"value\": \"SubmitApplication\"\n              },\n              {\n                \"displayValue\": \"Subscribe\",\n                \"value\": \"Subscribe\"\n              },\n              {\n                \"displayValue\": \"ViewContent\",\n                \"value\": \"ViewContent\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"defaultValue\": \"PageView\"\n          }\n        ]\n      },\n      {\n        \"value\": \"custom\",\n        \"displayValue\": \"Custom\",\n        \"subParams\": [\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"customEventName\",\n            \"displayName\": \"\",\n            \"simpleValueType\": true\n          }\n        ]\n      },\n      {\n        \"value\": \"variable\",\n        \"displayValue\": \"Variable\",\n        \"subParams\": [\n          {\n            \"type\": \"SELECT\",\n            \"name\": \"variableEventName\",\n            \"macrosInSelect\": true,\n            \"selectItems\": [],\n            \"simpleValueType\": true\n          }\n        ]\n      }\n    ],\n    \"simpleValueType\": true,\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"enhancedEcommerce\",\n        \"paramValue\": true,\n        \"type\": \"NOT_EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"RADIO\",\n    \"name\": \"eecEventName\",\n    \"displayName\": \"Event Name\",\n    \"radioItems\": [\n      {\n        \"value\": \"eec\",\n        \"displayValue\": \"Set automatically from dataLayer\"\n      }\n    ],\n    \"simpleValueType\": true,\n    \"help\": \"The Enhanced Ecommerce integration populates the Event Name automatically depending on what type of \\u003cstrong\\u003eecommerce\\u003c/strong\\u003e object was last pushed into dataLayer (\\\"detail\\\" -\\u003e \\\"ViewContent\\\", \\\"add\\\" -\\u003e \\\"AddToCart\\\", \\\"checkout\\\" -\\u003e \\\"InitiateCheckout\\\", \\\"purchase\\\" -\\u003e \\\"Purchase\\\").\",\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"enhancedEcommerce\",\n        \"paramValue\": true,\n        \"type\": \"EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"SELECT\",\n    \"name\": \"consent\",\n    \"displayName\": \"Consent Granted (GDPR)\",\n    \"macrosInSelect\": true,\n    \"selectItems\": [\n      {\n        \"value\": true,\n        \"displayValue\": \"True\"\n      },\n      {\n        \"value\": false,\n        \"displayValue\": \"False\"\n      }\n    ],\n    \"simpleValueType\": true,\n    \"help\": \"If you set Consent Granted to \\u003cstrong\\u003efalse\\u003c/strong\\u003e, the pixel will not send any hits until a tag is fired where Consent Granted is set to \\u003cstrong\\u003etrue\\u003c/strong\\u003e. See \\u003ca href\\u003d\\\"https://developers.facebook.com/docs/facebook-pixel/implementation/gdpr/\\\"\\u003ethis article\\u003c/a\\u003e for more information.\"\n  },\n  {\n    \"simpleValueType\": true,\n    \"name\": \"advancedMatching\",\n    \"checkboxText\": \"Enable Advanced Matching\",\n    \"type\": \"CHECKBOX\"\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"dataProcessingOptionsGroup\",\n    \"displayName\": \"Data Processing Options\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"subParams\": [\n      {\n        \"type\": \"LABEL\",\n        \"name\": \"dpoInfo\",\n        \"displayName\": \"Data Processing Options force this Facebook event to comply to regional regulations with regard to the processing and selling of user data. Read \\u003ca href\\u003d\\\"https://developers.facebook.com/docs/marketing-apis/data-processing-options\\\"\\u003ethis\\u003c/a\\u003e for more information about how to configure this section.\"\n      },\n      {\n        \"type\": \"CHECKBOX\",\n        \"name\": \"dpoLDU\",\n        \"checkboxText\": \"Limited Data Use (LDU)\",\n        \"simpleValueType\": true\n      },\n      {\n        \"type\": \"TEXT\",\n        \"name\": \"dpoCountry\",\n        \"displayName\": \"Country\",\n        \"simpleValueType\": true,\n        \"defaultValue\": 0,\n        \"enablingConditions\": [\n          {\n            \"paramName\": \"dpoLDU\",\n            \"paramValue\": true,\n            \"type\": \"EQUALS\"\n          }\n        ],\n        \"valueValidators\": [\n          {\n            \"type\": \"NUMBER\"\n          }\n        ]\n      },\n      {\n        \"type\": \"TEXT\",\n        \"name\": \"dpoState\",\n        \"displayName\": \"State\",\n        \"simpleValueType\": true,\n        \"defaultValue\": 0,\n        \"enablingConditions\": [\n          {\n            \"paramName\": \"dpoLDU\",\n            \"paramValue\": true,\n            \"type\": \"EQUALS\"\n          }\n        ],\n        \"valueValidators\": [\n          {\n            \"type\": \"NUMBER\"\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"advancedMatching\",\n        \"type\": \"EQUALS\",\n        \"paramValue\": true\n      }\n    ],\n    \"displayName\": \"Customer Information Data Parameters\",\n    \"name\": \"advancedMatchingGroup\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"type\": \"GROUP\",\n    \"subParams\": [\n      {\n        \"displayName\": \"\",\n        \"name\": \"advancedMatchingList\",\n        \"simpleTableColumns\": [\n          {\n            \"selectItems\": [\n              {\n                \"displayValue\": \"City\",\n                \"value\": \"ct\"\n              },\n              {\n                \"displayValue\": \"Country\",\n                \"value\": \"cn\"\n              },\n              {\n                \"displayValue\": \"Date of Birth\",\n                \"value\": \"db\"\n              },\n              {\n                \"displayValue\": \"Email\",\n                \"value\": \"em\"\n              },\n              {\n                \"displayValue\": \"External ID\",\n                \"value\": \"external_id\"\n              },\n              {\n                \"displayValue\": \"First Name\",\n                \"value\": \"fn\"\n              },\n              {\n                \"displayValue\": \"Gender\",\n                \"value\": \"ge\"\n              },\n              {\n                \"displayValue\": \"Last Name\",\n                \"value\": \"ln\"\n              },\n              {\n                \"displayValue\": \"Phone\",\n                \"value\": \"ph\"\n              },\n              {\n                \"displayValue\": \"State\",\n                \"value\": \"st\"\n              },\n              {\n                \"displayValue\": \"Zip Code\",\n                \"value\": \"zp\"\n              }\n            ],\n            \"defaultValue\": \"\",\n            \"displayName\": \"Parameter name\",\n            \"name\": \"name\",\n            \"isUnique\": true,\n            \"type\": \"SELECT\"\n          },\n          {\n            \"defaultValue\": \"\",\n            \"displayName\": \"Parameter value\",\n            \"name\": \"value\",\n            \"type\": \"TEXT\"\n          }\n        ],\n        \"type\": \"SIMPLE_TABLE\",\n        \"newRowButtonText\": \"Add parameter\",\n        \"valueValidators\": [\n          {\n            \"type\": \"NON_EMPTY\"\n          }\n        ]\n      }\n    ]\n  },\n  {\n    \"displayName\": \"Object Properties\",\n    \"name\": \"objectPropertiesGroup\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"type\": \"GROUP\",\n    \"subParams\": [\n      {\n        \"type\": \"LABEL\",\n        \"name\": \"enhancedEcommerceObject\",\n        \"displayName\": \"\\u003cstrong\\u003eWarning!\\u003c/strong\\u003e Object properties are populated automatically based on the most recent \\u003cstrong\\u003eecommerce\\u003c/strong\\u003e object pushed into dataLayer. If you add properties here that are already set by the integration (content_type, contents, num_items, value, currency), then the properties you add here will override those set automatically by the integration!\",\n        \"enablingConditions\": [\n          {\n            \"paramName\": \"enhancedEcommerce\",\n            \"paramValue\": true,\n            \"type\": \"EQUALS\"\n          }\n        ]\n      },\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"objectPropertiesFromVariable\",\n        \"displayName\": \"Load Properties From Variable\",\n        \"macrosInSelect\": true,\n        \"selectItems\": [\n          {\n            \"value\": false,\n            \"displayValue\": \"False\"\n          }\n        ],\n        \"simpleValueType\": true,\n        \"help\": \"You can use a variable that returns a JavaScript object with the properties you want to use. This object will be merged with any additional properties you add via the table below. Any conflicts will be resolved in favor of the properties you add to the table.\"\n      },\n      {\n        \"name\": \"objectPropertyList\",\n        \"simpleTableColumns\": [\n          {\n            \"valueValidators\": [],\n            \"defaultValue\": \"\",\n            \"displayName\": \"Property Name\",\n            \"name\": \"name\",\n            \"isUnique\": true,\n            \"type\": \"TEXT\"\n          },\n          {\n            \"defaultValue\": \"\",\n            \"displayName\": \"Property Value\",\n            \"name\": \"value\",\n            \"type\": \"TEXT\"\n          }\n        ],\n        \"type\": \"SIMPLE_TABLE\",\n        \"newRowButtonText\": \"Add property\"\n      }\n    ]\n  },\n  {\n    \"displayName\": \"More Settings\",\n    \"name\": \"moreSettingsGroup\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"type\": \"GROUP\",\n    \"subParams\": [\n      {\n        \"help\": \"Facebook collects some metadata (e.g. structured data) and user interactions (e.g. clicks) automatically. Check this box to disable this automatic configuration of the pixel.\",\n        \"simpleValueType\": true,\n        \"name\": \"disableAutoConfig\",\n        \"checkboxText\": \"Disable Automatic Configuration\",\n        \"type\": \"CHECKBOX\"\n      },\n      {\n        \"type\": \"CHECKBOX\",\n        \"name\": \"disablePushState\",\n        \"checkboxText\": \"Disable History Event Tracking\",\n        \"simpleValueType\": true,\n        \"help\": \"The Facebook Pixel tracks history events (pushState and replaceState) automatically as PageViews. Check this box to prevent the pixel from tracking such events automatically.\"\n      },\n      {\n        \"type\": \"TEXT\",\n        \"name\": \"eventId\",\n        \"displayName\": \"Event ID\",\n        \"simpleValueType\": true,\n        \"help\": \"Set the Event ID parameter in case you are tracking the same event server-side as well. The Event ID can be used to deduplicate the same event if sent from multiple sources. See more \\u003ca href\\u003d\\\"https://developers.facebook.com/docs/marketing-api/conversions-api/deduplicate-pixel-and-server-events/\\\"\\u003ehere\\u003c/a\\u003e.\"\n      }\n    ]\n  }\n]\n\n\n___SANDBOXED_JS_FOR_WEB_TEMPLATE___\n\nconst createQueue = require('createQueue');\nconst callInWindow = require('callInWindow');\nconst aliasInWindow = require('aliasInWindow');\nconst copyFromWindow = require('copyFromWindow');\nconst setInWindow = require('setInWindow');\nconst injectScript = require('injectScript');\nconst makeTableMap = require('makeTableMap');\nconst makeNumber = require('makeNumber');\nconst getType = require('getType');\nconst copyFromDataLayer = require('copyFromDataLayer');\nconst math = require('Math');\nconst log = require('logToConsole');\n\nconst initIds = copyFromWindow('_fbq_gtm_ids') || [];\nconst pixelIds = data.pixelId;\nconst standardEventNames = ['AddPaymentInfo', 'AddToCart', 'AddToWishlist', 'CompleteRegistration', 'Contact', 'CustomizeProduct', 'Donate', 'FindLocation', 'InitiateCheckout', 'Lead', 'PageView', 'Purchase', 'Schedule', 'Search', 'StartTrial', 'SubmitApplication', 'Subscribe', 'ViewContent'];\nconst ecommerce = copyFromDataLayer('ecommerce', 1);\n\n// Helper methods\nconst fail = msg => {\n  log(msg);\n  data.gtmOnFailure();\n};\n\nconst mergeObj = (obj, obj2) => {\n  for (let key in obj2) {\n    if (obj2.hasOwnProperty(key)) {\n      obj[key] = obj2[key];\n    }\n  }\n  return obj;\n};\n\nconst parseEecObj = prod => {\n  return {\n    id: prod.id,\n    quantity: prod.quantity\n  };\n};\n\n// Initialize EEC integration\nlet eventName, action, eecObjectProps;\nif (data.enhancedEcommerce) {\n  if (!ecommerce) return fail('Facebook Pixel: No valid \"ecommerce\" object found in dataLayer');\n  if (ecommerce.detail) { eventName = 'ViewContent'; action = 'detail'; }\n  else if (ecommerce.add) { eventName = 'AddToCart'; action = 'add'; }\n  else if (ecommerce.checkout) { eventName = 'InitiateCheckout'; action = 'checkout'; }\n  else if (ecommerce.purchase) { eventName = 'Purchase'; action = 'purchase'; }\n  else return fail('Facebook Pixel: Most recently pushed \"ecommerce\" object must be one of types \"detail\", \"add\", \"checkout\" or \"purchase\".');\n  \n  if (!ecommerce[action].products || getType(ecommerce[action].products) !== 'array') return fail('Facebook pixel: Most recently pushed \"ecommerce\" object did not have a valid \"products\" array.');\n  eecObjectProps = {\n    content_type: 'product',\n    contents: ecommerce[action].products.map(parseEecObj),\n    value: ecommerce[action].products.reduce((acc, cur) => {\n      const curVal = math.round(makeNumber(cur.price || 0) * (cur.quantity || 1) * 100) / 100;\n      return acc + curVal;\n    }, 0.0),\n    currency: ecommerce.currencyCode || 'USD'\n  };\n  if (['InitiateCheckout', 'Purchase'].indexOf(eventName) > -1) eecObjectProps.num_items = ecommerce[action].products.reduce((acc,cur) => {\n    return acc + makeNumber(cur.quantity || 1);\n  }, 0);\n}\n\n// Build the fbq() command arguments\nconst cidParams = data.advancedMatchingList && data.advancedMatchingList.length ? makeTableMap(data.advancedMatchingList, 'name', 'value') : {};\nconst objectProps = data.objectPropertyList && data.objectPropertyList.length ? makeTableMap(data.objectPropertyList, 'name', 'value') : {};\nconst objectPropsFromVar = getType(data.objectPropertiesFromVariable) === 'object' ? data.objectPropertiesFromVariable : {};\nconst mergedObjectProps = mergeObj(objectPropsFromVar, objectProps);\nconst finalObjectProps = mergeObj(eecObjectProps || {}, mergedObjectProps);\neventName = eventName || (data.eventName === 'custom' ? data.customEventName : (data.eventName === 'variable' ? data.variableEventName : data.standardEventName));\n\nconst command = standardEventNames.indexOf(eventName) === -1 ? 'trackSingleCustom' : 'trackSingle';\nconst consent = data.consent === false ? 'revoke' : 'grant';\n\n// Utility function to use either fbq.queue[]\n// (if the FB SDK hasn't loaded yet), or fbq.callMethod()\n// if the SDK has loaded.\nconst getFbq = () => {\n  // Return the existing 'fbq' global method if available\n  let fbq = copyFromWindow('fbq');\n  if (fbq) {\n    return fbq;\n  }\n  \n  // Initialize the 'fbq' global method to either use\n  // fbq.callMethod or fbq.queue)\n  setInWindow('fbq', function() {    \n    const callMethod = copyFromWindow('fbq.callMethod.apply');\n    if (callMethod) {           \n      callInWindow('fbq.callMethod.apply', null, arguments); \n    } else {       \n      callInWindow('fbq.queue.push', arguments);\n    }\n  });\n  aliasInWindow('_fbq', 'fbq');\n  \n  // Create the fbq.queue\n  createQueue('fbq.queue');\n    \n  // Return the global 'fbq' method, created above\n  return copyFromWindow('fbq');\n};\n\n// Get reference to the global method\nconst fbq = getFbq();\n\nfbq('consent', consent);\n\n // Set Data Processing Options\nif (data.dpoLDU) {\n  fbq('dataProcessingOptions', ['LDU'], makeNumber(data.dpoCountry), makeNumber(data.dpoState));\n}\n\n// Handle multiple, comma-separated pixel IDs,\n// and initialize each ID if not done already.\npixelIds.split(',').forEach(pixelId => {\n  if (initIds.indexOf(pixelId) === -1) {\n    \n    // If the user has chosen to disable automatic configuration\n    if (data.disableAutoConfig) {\n      fbq('set', 'autoConfig', false, pixelId);\n    }\n    \n    // If the user has chosen to disable pushState and replaceState tracking\n    if (data.disablePushState) {\n      setInWindow('fbq.disablePushState', true);\n    }\n   \t\n    \n    // Initialize pixel and store in global array\n    fbq('init', pixelId, cidParams);\n\n    // Monitoring agent string for Tag Setup\n    fbq('set','agent','tmSimo-GTM-WebTemplate', pixelId);\n\n    initIds.push(pixelId);\n    setInWindow('_fbq_gtm_ids', initIds, true);\n    \n  }\n\n  // Call the fbq() method with the parameters defined earlier\n  if (data.eventId) {\n    fbq(command, pixelId, eventName, finalObjectProps, {eventID: data.eventId});\n  } else {\n    fbq(command, pixelId, eventName, finalObjectProps);\n  }\n});\n\ninjectScript('https://connect.facebook.net/en_US/fbevents.js', data.gtmOnSuccess, data.gtmOnFailure, 'fbPixel');\n\n\n___WEB_PERMISSIONS___\n\n[\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"access_globals\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"keys\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"fbq\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"_fbq_gtm\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"_fbq\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"_fbq_gtm_ids\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"fbq.callMethod.apply\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"fbq.queue.push\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"fbq.queue\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"fbq.disablePushState\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  }\n                ]\n              }\n            ]\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"inject_script\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"urls\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 1,\n                \"string\": \"https://connect.facebook.net/en_US/fbevents.js\"\n              }\n            ]\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"logging\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"environments\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"debug\"\n          }\n        }\n      ]\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"read_data_layer\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"keyPatterns\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 1,\n                \"string\": \"ecommerce\"\n              }\n            ]\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  }\n]\n\n\n___TESTS___\n\nscenarios:\n- name: Library is injected\n  code: |-\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('injectScript').wasCalledWith(scriptUrl, success, failure, 'fbPixel');\n    assertApi('gtmOnSuccess').wasCalled();\n- name: fbq does not exist - method created\n  code: |-\n    let fbq;\n\n    mock('copyFromWindow', key => {\n      if (key === 'fbq') return fbq;\n    });\n\n    mock('createQueue', key => {});\n\n    mock('setInWindow', (key, val) => {\n      if (key === 'fbq') fbq = val;\n    });\n\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('aliasInWindow').wasCalledWith('_fbq', 'fbq');\n    assertApi('setInWindow').wasCalled();\n    assertApi('gtmOnSuccess').wasCalled();\n- name: fbq exists - method copied\n  code: |-\n    mock('setInWindow', key => {\n      if (key === 'fbq') fail('setInWindow called with fbq even though variable exists');\n    });\n\n    mock('createQueue', key => {});\n\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: makeTableMap called\n  code: |-\n    mockData.advancedMatching = true;\n\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('makeTableMap').wasCalledWith(mockData.advancedMatchingList, 'name', 'value');\n    assertApi('makeTableMap').wasCalledWith(mockData.objectPropertyList, 'name', 'value');\n    assertApi('gtmOnSuccess').wasCalled();\n- name: Consent set\n  code: |-\n    mock('copyFromWindow', key => {\n      if (key === 'fbq') return function() {\n        if (arguments[0] === 'consent') {\n          assertThat(arguments[1], 'Consent set incorrectly').isEqualTo('grant');\n        }\n      };\n    });\n\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: DPO LDU set\n  code: |-\n    mockData.dpoLDU = true;\n    mockData.dpoCountry = '0';\n    mockData.dpoState = '0';\n\n    mock('copyFromWindow', key => {\n      if (key === 'fbq') return function() {\n        if (arguments[0] === 'consent') {\n          assertThat(arguments[1], 'Consent set incorrectly').isEqualTo('grant');\n        }\n        if (arguments[0] === 'dataProcessingOptions') {\n          assertThat(arguments[1], 'LDU array value not set').isEqualTo(['LDU']);\n          assertThat(arguments[2], 'LDU country not set').isEqualTo(0);\n          assertThat(arguments[3], 'LDU state not set').isEqualTo(0);\n        }\n      };\n    });\n\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: DPO LDU not set\n  code: |-\n    mock('copyFromWindow', key => {\n      if (key === 'fbq') return function() {\n        if (arguments[0] === 'consent') {\n          assertThat(arguments[1], 'Consent set incorrectly').isEqualTo('grant');\n        }\n        if (arguments[0] === 'dataProcessingOptions') {\n          fail('dataProcessingOptions called even though DPO was not set');\n        }\n      };\n    });\n\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: Pixel IDs set - do not initialize\n  code: |-\n    mock('copyFromWindow', key => {\n      if (key === '_fbq_gtm_ids') return ['12345', '23456'];\n      if (key === 'fbq') return function() {\n        if (arguments[0] === 'init') fail('init called even though pixel IDs already initialized');\n      };\n    });\n\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: Pixel IDs not set - run init process\n  code: \"let index = 0;\\nlet count = 0;\\nlet _fbq_gtm_ids;\\n\\nmockData.advancedMatching\\\n    \\ = true;\\nmockData.disableAutoConfig = true;\\nmockData.disablePushState = true;\\n\\\n    \\nmock('setInWindow', (key, val) => {\\n  if (key === 'fbq.disablePushState') count\\\n    \\ += 1;\\n  if (key === '_fbq_gtm_ids') _fbq_gtm_ids = val;\\n});\\n\\nconst initObj\\\n    \\ = {\\n  ct: 'Helsinki',\\n  cn: 'Finland',\\n  external_id: 'UserId'\\n};\\n\\nmock('copyFromWindow',\\\n    \\ key => {\\n  if (key === 'fbq') return function() {\\n    if (arguments[0] ===\\\n    \\ 'set' && arguments[1] === 'autoConfig' && arguments[2] === false) {\\n      assertThat(arguments[3],\\\n    \\ 'autoConfig called with incorrect pixelId').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\    }\\n    if (arguments[0] === 'set' && arguments[1] === 'agent') {\\n      assertThat(arguments[2],\\\n    \\ 'agent set with invalid value').isEqualTo('tmSimo-GTM-WebTemplate');\\n     \\\n    \\ assertThat(arguments[3], 'agent set with invalid pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      index += 1;\\n    }\\n    if (arguments[0] === 'init') {\\n      assertThat(arguments[1],\\\n    \\ 'init called with incorrect pixelId').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'init called with incorrect initObj').isEqualTo(initObj);\\n\\\n    \\    } \\n  };\\n});\\n\\n// Call runCode to run the template's code.\\nrunCode(mockData);\\n\\\n    \\nassertThat(_fbq_gtm_ids, '_fbq_gtm_ids has incorrect contents').isEqualTo(mockData.pixelId.split(','));\\n\\\n    assertThat(index, 'init called incorrect number of times: ' + index).isEqualTo(2);\\n\\\n    assertThat(count, 'fbq.disablePushState called incorrect number of times: ' +\\\n    \\ count).isEqualTo(2);\\n\\n// Verify that the tag finished successfully.\\nassertApi('gtmOnSuccess').wasCalled();\"\n- name: Send standard event\n  code: \"const eventParams = {\\n  prop1: 'val1',\\n  prop2: 'val2'\\n};\\n\\nlet index\\\n    \\ = 0;\\nmock('copyFromWindow', key => {\\n  if (key === 'fbq') return function()\\\n    \\ {\\n    if (arguments[0] === 'trackSingle') {\\n      assertThat(arguments[1],\\\n    \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo(mockData.standardEventName);\\n\\\n    \\      assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(eventParams);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Send custom event\n  code: \"mockData.eventName = 'custom';\\n\\nconst eventParams = {\\n  prop1: 'val1',\\n\\\n    \\  prop2: 'val2'\\n};\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n  if\\\n    \\ (key === 'fbq') return function() {\\n    if (arguments[0] === 'trackSingleCustom')\\\n    \\ {\\n      assertThat(arguments[1], 'trackSingleCustom called with incorrect pixel\\\n    \\ ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n      assertThat(arguments[2],\\\n    \\ 'trackSingleCustom called with incorrect event name').isEqualTo(mockData.customEventName);\\n\\\n    \\      assertThat(arguments[3], 'trackSingleCustom called with incorrect event\\\n    \\ parameters').isEqualTo(eventParams);\\n      index += 1;\\n    }\\n  };\\n});\\n\\\n    \\     \\n// Call runCode to run the template's code.\\nrunCode(mockData);\\n\\n//\\\n    \\ Verify that the tag finished successfully.\\nassertThat(index, 'trackSingleCustom\\\n    \\ called incorrect number of times').isEqualTo(2);\\nassertApi('gtmOnSuccess').wasCalled();\"\n- name: Send variable event with standard name\n  code: \"mockData.eventName = 'variable';\\nmockData.variableEventName = 'PageView';\\n\\\n    \\nconst eventParams = {\\n  prop1: 'val1',\\n  prop2: 'val2'\\n};\\n\\nlet index =\\\n    \\ 0;\\nmock('copyFromWindow', key => {\\n  if (key === 'fbq') return function()\\\n    \\ {\\n    if (arguments[0] === 'trackSingle') {\\n      assertThat(arguments[1],\\\n    \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo(mockData.variableEventName);\\n\\\n    \\      assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(eventParams);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Send variable event with custom name\n  code: \"mockData.eventName = 'variable';\\nmockData.variableEventName = 'custom';\\n\\\n    \\nconst eventParams = {\\n  prop1: 'val1',\\n  prop2: 'val2'\\n};\\n\\nlet index =\\\n    \\ 0;\\nmock('copyFromWindow', key => {\\n  if (key === 'fbq') return function()\\\n    \\ {\\n    if (arguments[0] === 'trackSingleCustom') {\\n      assertThat(arguments[1],\\\n    \\ 'trackSingleCustom called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingleCustom called with incorrect event\\\n    \\ name').isEqualTo(mockData.variableEventName);\\n      assertThat(arguments[3],\\\n    \\ 'trackSingleCustom called with incorrect event parameters').isEqualTo(eventParams);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingleCustom called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Send event parameters from a variable\n  code: \"mockData.objectPropertiesFromVariable = {\\n  prop1: 'val1',\\n  prop2: 'val2'\\n\\\n    };\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n  if (key === 'fbq') return\\\n    \\ function() {\\n    if (arguments[0] === 'trackSingle') {\\n      assertThat(arguments[1],\\\n    \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo(mockData.standardEventName);\\n\\\n    \\      assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockData.objectPropertiesFromVariable);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Enhanced Ecommerce integration fails with invalid object\n  code: |-\n    mockData.enhancedEcommerce = true;\n\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('logToConsole').wasCalledWith('Facebook Pixel: No valid \"ecommerce\" object found in dataLayer');\n    assertApi('gtmOnFailure').wasCalled();\n    assertApi('gtmOnSuccess').wasNotCalled();\n- name: Enhanced Ecommerce integration fails with invalid action\n  code: |-\n    mockData.enhancedEcommerce = true;\n\n    mock('copyFromDataLayer', key => {\n      if (key === 'ecommerce') return {\n        invalid: true\n      };\n    });\n\n    // Call runCode to run the template's code.\n    runCode(mockData);\n\n    // Verify that the tag finished successfully.\n    assertApi('logToConsole').wasCalledWith('Facebook Pixel: Most recently pushed \"ecommerce\" object must be one of types \"detail\", \"add\", \"checkout\" or \"purchase\".');\n    assertApi('gtmOnFailure').wasCalled();\n    assertApi('gtmOnSuccess').wasNotCalled();\n- name: Enhanced Ecommerce ViewContent works\n  code: \"mockData.enhancedEcommerce = true;\\nmockData.objectPropertyList = {};\\n\\n\\\n    mock('copyFromDataLayer', key => {\\n  if (key === 'ecommerce') return {\\n    currencyCode:\\\n    \\ 'EUR',\\n    detail: {\\n      products: mockEec.gtm.products\\n    }\\n  };\\n});\\n\\\n    \\nlet index = 0;\\nmock('copyFromWindow', key => {\\n  if (key === 'fbq') return\\\n    \\ function() {\\n    if (arguments[0] === 'trackSingle') {\\n      assertThat(arguments[1],\\\n    \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('ViewContent');\\n\\\n    \\      assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Enhanced Ecommerce AddToCart works\n  code: \"mockData.enhancedEcommerce = true;\\nmockData.objectPropertyList = {};\\n\\n\\\n    mock('copyFromDataLayer', key => {\\n  if (key === 'ecommerce') return {\\n    currencyCode:\\\n    \\ 'EUR',\\n    add: {\\n      products: mockEec.gtm.products\\n    }\\n  };\\n});\\n\\\n    \\nlet index = 0;\\nmock('copyFromWindow', key => {\\n  if (key === 'fbq') return\\\n    \\ function() {\\n    if (arguments[0] === 'trackSingle') {\\n      assertThat(arguments[1],\\\n    \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('AddToCart');\\n\\\n    \\      assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Enhanced Ecommerce InitiateCheckout works\n  code: \"mockData.enhancedEcommerce = true;\\nmockEec.fb.num_items = 3;\\nmockData.objectPropertyList\\\n    \\ = {};\\n\\nmock('copyFromDataLayer', key => {\\n  if (key === 'ecommerce') return\\\n    \\ {\\n    currencyCode: 'EUR',\\n    checkout: {\\n      products: mockEec.gtm.products\\n\\\n    \\    }\\n  };\\n});\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n  if (key\\\n    \\ === 'fbq') return function() {\\n    if (arguments[0] === 'trackSingle') {\\n\\\n    \\      assertThat(arguments[1], 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('InitiateCheckout');\\n\\\n    \\      assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Enhanced Ecommerce Purchase works\n  code: \"mockData.enhancedEcommerce = true;\\nmockEec.fb.num_items = 3;\\nmockData.objectPropertyList\\\n    \\ = {};\\n\\nmock('copyFromDataLayer', key => {\\n  if (key === 'ecommerce') return\\\n    \\ {\\n    currencyCode: 'EUR',\\n    purchase: {\\n      products: mockEec.gtm.products\\n\\\n    \\    }\\n  };\\n});\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n  if (key\\\n    \\ === 'fbq') return function() {\\n    if (arguments[0] === 'trackSingle') {\\n\\\n    \\      assertThat(arguments[1], 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('Purchase');\\n\\\n    \\      assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Object merge with variable and list works\n  code: \"mockData.objectPropertiesFromVariable = {\\n  prop1: 'var1',\\n  prop2: 'var2',\\n\\\n    \\  prop3: 'var3'\\n};\\n\\nconst expected = {\\n  prop1: 'val1',\\n  prop2: 'val2',\\n\\\n    \\  prop3: 'var3'\\n};\\n\\nlet index = 0;\\nmock('copyFromWindow', key => {\\n  if\\\n    \\ (key === 'fbq') return function() {\\n    if (arguments[0] === 'trackSingle')\\\n    \\ {\\n      assertThat(arguments[1], 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('PageView');\\n\\\n    \\      assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(expected);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Object merge with variable, list and eec works\n  code: \"mockData.enhancedEcommerce = true;\\nmockData.objectPropertiesFromVariable\\\n    \\ = {\\n  content_type: 'product_group'\\n};\\nmockData.objectPropertyList = [{\\n\\\n    \\  name: 'currency',\\n  value: 'USD'\\n}];\\nmockEec.fb.num_items = 3;\\nmockEec.fb.content_type\\\n    \\ = 'product_group';\\nmockEec.fb.currency = 'USD';\\n\\nmock('copyFromDataLayer',\\\n    \\ key => {\\n  if (key === 'ecommerce') return {\\n    currencyCode: 'EUR',\\n  \\\n    \\  purchase: {\\n      products: mockEec.gtm.products\\n    }\\n  };\\n});\\n\\nlet\\\n    \\ index = 0;\\nmock('copyFromWindow', key => {\\n  if (key === 'fbq') return function()\\\n    \\ {\\n    if (arguments[0] === 'trackSingle') {\\n      assertThat(arguments[1],\\\n    \\ 'trackSingle called with incorrect pixel ID').isEqualTo(mockData.pixelId.split(',')[index]);\\n\\\n    \\      assertThat(arguments[2], 'trackSingle called with incorrect event name').isEqualTo('Purchase');\\n\\\n    \\      assertThat(arguments[3], 'trackSingle called with incorrect event parameters').isEqualTo(mockEec.fb);\\n\\\n    \\      index += 1;\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertThat(index, 'trackSingle called incorrect number of times').isEqualTo(2);\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\n- name: Send event ID\n  code: \"mockData.eventId = 'eventId';\\n\\nmock('copyFromWindow', key => {\\n  if (key\\\n    \\ === 'fbq') return function() {\\n    if (arguments[0] === 'trackSingle') {\\n\\\n    \\      assertThat(arguments[4], 'eventID not included in hit').isEqualTo({eventID:\\\n    \\ mockData.eventId});\\n    }\\n  };\\n});\\n     \\n// Call runCode to run the template's\\\n    \\ code.\\nrunCode(mockData);\\n\\n// Verify that the tag finished successfully.\\n\\\n    assertApi('gtmOnSuccess').wasCalled();\"\nsetup: \"const mockData = {\\n  pixelId: '12345,23456',\\n  eventName: 'standard',\\n\\\n  \\  standardEventName: 'PageView',\\n  customEventName: 'custom',\\n  variableEventName:\\\n  \\ 'standard',\\n  consent: true,\\n  advancedMatching: false,\\n  advancedMatchingList:\\\n  \\ [{name: 'ct', value: 'Helsinki'},{name: 'cn', value: 'Finland'},{name: 'external_id',\\\n  \\ value: 'UserId'}],\\n  objectPropertiesFromVariable: false,\\n  objectPropertyList:\\\n  \\ [{name: 'prop1', value: 'val1'},{name: 'prop2', value: 'val2'}],\\n  disableAutoConfig:\\\n  \\ false,\\n  disablePushState: false,\\n  enhancedEcommerce: false,\\n  eventId: ''\\n\\\n  };\\n\\nconst mockEec = {\\n  gtm: {  \\n    products: [{\\n      id: 'i1',\\n      name:\\\n  \\ 'n1',\\n      category: 'c1',\\n      price: '1.00',\\n      quantity: 1\\n    },{\\n\\\n  \\      id: 'i2',\\n      name: 'n2',\\n      category: 'c2',\\n      price: '2.00',\\n\\\n  \\      quantity: 2\\n    }]\\n  },\\n  fb: {\\n    content_type: 'product',\\n    contents:\\\n  \\ [{\\n      id: 'i1',\\n      quantity: 1\\n    },{\\n      id: 'i2',\\n      quantity:\\\n  \\ 2\\n    }],\\n    currency: 'EUR',\\n    value: 5.00\\n  }\\n};\\n\\nconst scriptUrl\\\n  \\ = 'https://connect.facebook.net/en_US/fbevents.js';\\n\\n// Create injectScript\\\n  \\ mock\\nlet success, failure;\\nmock('injectScript', (url, onsuccess, onfailure)\\\n  \\ => {\\n  success = onsuccess;\\n  failure = onfailure;\\n  onsuccess();\\n});\\n\\n\\\n  mock('copyFromWindow', key => {\\n  if (key === 'fbq') return () => {};\\n});\"\n\n\n___NOTES___\n\nCreated on 18/05/2019, 21:57:16\n\n\n",
                "galleryReference": {
                    "host": "github.com",
                    "owner": "facebookarchive",
                    "repository": "GoogleTagManager-WebTemplate-For-FacebookPixel",
                    "version": "11c004614f6b8f7cc999caabef521086116ce302",
                    "signature": "de30f66e675f24ef8640cea7175b615c94807fa8f027929f94c3d0b45a520d86"
                }
            }
        ]
    }
}