{
    "exportFormatVersion": 2,
    "exportTime": "2025-06-03 13:55:04",
    "containerVersion": {
        "path": "accounts/6296815860/containers/220978468/versions/0",
        "accountId": "6296815860",
        "containerId": "220978468",
        "containerVersionId": "0",
        "container": {
            "path": "accounts/6296815860/containers/220978468",
            "accountId": "6296815860",
            "containerId": "220978468",
            "name": "Snapchat - Server",
            "publicId": "GTM-MKNT8W86",
            "usageContext": [
                "SERVER"
            ],
            "fingerprint": "1748957593613",
            "tagManagerUrl": "https://tagmanager.google.com/#/container/accounts/6296815860/containers/220978468/workspaces?apiLink=container",
            "features": {
                "supportUserPermissions": true,
                "supportEnvironments": true,
                "supportWorkspaces": true,
                "supportGtagConfigs": false,
                "supportBuiltInVariables": true,
                "supportClients": true,
                "supportFolders": true,
                "supportTags": true,
                "supportTemplates": true,
                "supportTriggers": true,
                "supportVariables": true,
                "supportVersions": true,
                "supportZones": true,
                "supportTransformations": true
            },
            "tagIds": [
                "GTM-MKNT8W86"
            ]
        },
        "tag": [
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "tagId": "505",
                "name": "Snapchat - view_item",
                "type": "cvt_PJ5T4",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "adStorageConsent",
                        "value": "optional"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "logType",
                        "value": "debug"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventNameStandard",
                        "value": "VIEW_CONTENT"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "notSetClickIdCookie",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventType",
                        "value": "standard"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "accessToken",
                        "value": "{{@ Snapchat API Token}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "notSetBrowserIdCookie",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "serverDataList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "event_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Event ID}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{@ Snapchat Pixel ID}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "useHttpOnlyCookie",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventConversionType",
                        "value": "WEB"
                    },
                    {
                        "type": "LIST",
                        "key": "customDataList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "useOptimisticScenario",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "bigQueryLogType",
                        "value": "no"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "validate",
                        "value": "false"
                    }
                ],
                "fingerprint": "1748957606073",
                "firingTriggerId": [
                    "503"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "tagId": "508",
                "name": "Snapchat - add_to_cart",
                "type": "cvt_PJ5T4",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "adStorageConsent",
                        "value": "optional"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "logType",
                        "value": "debug"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventNameStandard",
                        "value": "ADD_CART"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "notSetClickIdCookie",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventType",
                        "value": "standard"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "accessToken",
                        "value": "{{@ Snapchat API Token}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "notSetBrowserIdCookie",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "serverDataList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "event_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Event ID}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{@ Snapchat Pixel ID}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "useHttpOnlyCookie",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventConversionType",
                        "value": "WEB"
                    },
                    {
                        "type": "LIST",
                        "key": "customDataList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "useOptimisticScenario",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "bigQueryLogType",
                        "value": "no"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "validate",
                        "value": "false"
                    }
                ],
                "fingerprint": "1748957606074",
                "firingTriggerId": [
                    "507"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "tagId": "511",
                "name": "Snapchat - purchase",
                "type": "cvt_PJ5T4",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "adStorageConsent",
                        "value": "required"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "logType",
                        "value": "debug"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventNameStandard",
                        "value": "PURCHASE"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "notSetClickIdCookie",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "userDataList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "em"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Customer Email}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "fn"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Customer First Name}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "ln"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Customer Last Name}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventType",
                        "value": "standard"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "accessToken",
                        "value": "{{@ Snapchat API Token}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "notSetBrowserIdCookie",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "serverDataList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "event_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Event ID}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{@ Snapchat Pixel ID}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "useHttpOnlyCookie",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventConversionType",
                        "value": "WEB"
                    },
                    {
                        "type": "LIST",
                        "key": "customDataList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "useOptimisticScenario",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "bigQueryLogType",
                        "value": "no"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "validate",
                        "value": "false"
                    }
                ],
                "fingerprint": "1748957606074",
                "firingTriggerId": [
                    "509"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "tagId": "512",
                "name": "Snapchat - page_view",
                "type": "cvt_PJ5T4",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "adStorageConsent",
                        "value": "required"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "logType",
                        "value": "debug"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventNameStandard",
                        "value": "PAGE_VIEW"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "notSetClickIdCookie",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventType",
                        "value": "standard"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "accessToken",
                        "value": "{{@ Snapchat API Token}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "notSetBrowserIdCookie",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "serverDataList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "event_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DLV - Event ID}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{@ Snapchat Pixel ID}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "useHttpOnlyCookie",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventConversionType",
                        "value": "WEB"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "useOptimisticScenario",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "bigQueryLogType",
                        "value": "no"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "validate",
                        "value": "false"
                    }
                ],
                "fingerprint": "1748957606074",
                "firingTriggerId": [
                    "2147479574"
                ],
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            }
        ],
        "trigger": [
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "triggerId": "503",
                "name": "view_item",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "view_item"
                            }
                        ]
                    }
                ],
                "fingerprint": "1748957606015"
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "triggerId": "507",
                "name": "add_to_cart",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "add_to_cart"
                            }
                        ]
                    }
                ],
                "fingerprint": "1748957606073"
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "triggerId": "509",
                "name": "purchase",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "purchase"
                            }
                        ]
                    }
                ],
                "fingerprint": "1748957638429"
            }
        ],
        "variable": [
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "variableId": "497",
                "name": "DLV - Event ID",
                "type": "ed",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "keyPath",
                        "value": "x_event_id"
                    }
                ],
                "fingerprint": "1748957025211",
                "formatValue": {}
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "variableId": "498",
                "name": "DLV - Customer Email",
                "type": "ed",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "keyPath",
                        "value": "x_customer_email"
                    }
                ],
                "fingerprint": "1748957040821",
                "formatValue": {}
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "variableId": "499",
                "name": "@ Snapchat API Token",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "invullen"
                    }
                ],
                "fingerprint": "1748958862659",
                "formatValue": {}
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "variableId": "500",
                "name": "@ Snapchat Pixel ID",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "invullen"
                    }
                ],
                "fingerprint": "1748958870530",
                "formatValue": {}
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "variableId": "501",
                "name": "DLV - Value",
                "type": "ed",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "keyPath",
                        "value": "value"
                    }
                ],
                "fingerprint": "1748957606015",
                "formatValue": {}
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "variableId": "502",
                "name": "DLV - Currency",
                "type": "ed",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "keyPath",
                        "value": "currency"
                    }
                ],
                "fingerprint": "1748957606015",
                "formatValue": {}
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "variableId": "506",
                "name": "DLV - Customer First Name",
                "type": "ed",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "keyPath",
                        "value": "x_customer_first_name"
                    }
                ],
                "fingerprint": "1748957606073",
                "formatValue": {}
            },
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "variableId": "510",
                "name": "DLV - Customer Last Name",
                "type": "ed",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "keyPath",
                        "value": "x_customer_last_name"
                    }
                ],
                "fingerprint": "1748957606074",
                "formatValue": {}
            }
        ],
        "builtInVariable": [
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "type": "CLIENT_NAME",
                "name": "Client Name"
            }
        ],
        "fingerprint": "1748958904369",
        "tagManagerUrl": "https://tagmanager.google.com/#/versions/accounts/6296815860/containers/220978468/versions/0?apiLink=version",
        "customTemplate": [
            {
                "accountId": "6296815860",
                "containerId": "220978468",
                "templateId": "504",
                "name": "Snapchat Conversion API",
                "fingerprint": "1748957606015",
                "templateData": "___TERMS_OF_SERVICE___\n\nBy creating or modifying this file you agree to Google Tag Manager's Community\nTemplate Gallery Developer Terms of Service available at\nhttps://developers.google.com/tag-manager/gallery-tos (or such other URL as\nGoogle may provide), as modified from time to time.\n\n\n___INFO___\n\n{\n  \"type\": \"TAG\",\n  \"id\": \"cvt_PJ5T4\",\n  \"version\": 1,\n  \"displayName\": \"Snapchat Conversion API\",\n  \"categories\": [\n    \"ADVERTISING\",\n    \"ANALYTICS\",\n    \"CONVERSIONS\",\n    \"MARKETING\",\n    \"REMARKETING\"\n  ],\n  \"brand\": {\n    \"id\": \"github.com_stape-io\",\n    \"displayName\": \"stape-io\",\n    \"thumbnail\": \"data:image/png;base64,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\\u003d\"\n  },\n  \"description\": \"Tag that send the event data from the Universal Analytics/GA4/Data client to Snapchat Conversion API.\",\n  \"containerContexts\": [\n    \"SERVER\"\n  ]\n}\n\n\n___TEMPLATE_PARAMETERS___\n\n[\n  {\n    \"type\": \"RADIO\",\n    \"name\": \"eventType\",\n    \"displayName\": \"Event Name Setup Method\",\n    \"radioItems\": [\n      {\n        \"value\": \"standard\",\n        \"displayValue\": \"Standard\",\n        \"subParams\": [\n          {\n            \"type\": \"SELECT\",\n            \"name\": \"eventNameStandard\",\n            \"selectItems\": [\n              {\n                \"value\": \"PURCHASE\",\n                \"displayValue\": \"PURCHASE\"\n              },\n              {\n                \"value\": \"PAGE_VIEW\",\n                \"displayValue\": \"PAGE_VIEW\"\n              },\n              {\n                \"value\": \"LIST_VIEW\",\n                \"displayValue\": \"LIST_VIEW\"\n              },\n              {\n                \"value\": \"VIEW_CONTENT\",\n                \"displayValue\": \"VIEW_CONTENT\"\n              },\n              {\n                \"value\": \"ADD_CART\",\n                \"displayValue\": \"ADD_CART\"\n              },\n              {\n                \"value\": \"START_CHECKOUT\",\n                \"displayValue\": \"START_CHECKOUT\"\n              },\n              {\n                \"value\": \"ADD_BILLING\",\n                \"displayValue\": \"ADD_BILLING\"\n              },\n              {\n                \"value\": \"LOGIN\",\n                \"displayValue\": \"LOGIN\"\n              },\n              {\n                \"value\": \"SIGN_UP\",\n                \"displayValue\": \"SIGN_UP\"\n              },\n              {\n                \"value\": \"SEARCH\",\n                \"displayValue\": \"SEARCH\"\n              },\n              {\n                \"value\": \"ADD_TO_WISHLIST\",\n                \"displayValue\": \"ADD_TO_WISHLIST\"\n              },\n              {\n                \"value\": \"SUBSCRIBE\",\n                \"displayValue\": \"SUBSCRIBE\"\n              },\n              {\n                \"value\": \"SAVE\",\n                \"displayValue\": \"SAVE\"\n              },\n              {\n                \"value\": \"AD_CLICK\",\n                \"displayValue\": \"AD_CLICK\"\n              },\n              {\n                \"value\": \"AD_VIEW\",\n                \"displayValue\": \"AD_VIEW\"\n              },\n              {\n                \"value\": \"COMPLETE_TUTORIAL\",\n                \"displayValue\": \"COMPLETE_TUTORIAL\"\n              },\n              {\n                \"value\": \"INVITE\",\n                \"displayValue\": \"INVITE\"\n              },\n              {\n                \"value\": \"SHARE\",\n                \"displayValue\": \"SHARE\"\n              },\n              {\n                \"value\": \"RESERVE\",\n                \"displayValue\": \"RESERVE\"\n              },\n              {\n                \"value\": \"ACHIEVEMENT_UNLOCKED\",\n                \"displayValue\": \"ACHIEVEMENT_UNLOCKED\"\n              },\n              {\n                \"value\": \"SPENT_CREDITS\",\n                \"displayValue\": \"SPENT_CREDITS\"\n              },\n              {\n                \"value\": \"RATE\",\n                \"displayValue\": \"RATE\"\n              },\n              {\n                \"value\": \"START_TRIAL\",\n                \"displayValue\": \"START_TRIAL\"\n              },\n              {\n                \"value\": \"APP_INSTALL\",\n                \"displayValue\": \"APP_INSTALL\"\n              },\n              {\n                \"value\": \"APP_OPEN\",\n                \"displayValue\": \"APP_OPEN\"\n              },\n              {\n                \"value\": \"CUSTOM_EVENT_1\",\n                \"displayValue\": \"CUSTOM_EVENT_1\"\n              },\n              {\n                \"value\": \"CUSTOM_EVENT_2\",\n                \"displayValue\": \"CUSTOM_EVENT_2\"\n              },\n              {\n                \"value\": \"CUSTOM_EVENT_3\",\n                \"displayValue\": \"CUSTOM_EVENT_3\"\n              },\n              {\n                \"value\": \"CUSTOM_EVENT_4\",\n                \"displayValue\": \"CUSTOM_EVENT_4\"\n              },\n              {\n                \"value\": \"CUSTOM_EVENT_5\",\n                \"displayValue\": \"CUSTOM_EVENT_5\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"defaultValue\": \"PURCHASE\",\n            \"displayName\": \"Event Name\",\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ],\n            \"alwaysInSummary\": true\n          }\n        ]\n      },\n      {\n        \"value\": \"inherit\",\n        \"subParams\": [],\n        \"displayValue\": \"Inherit from client\"\n      },\n      {\n        \"value\": \"custom\",\n        \"subParams\": [\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"eventNameCustom\",\n            \"displayName\": \"\",\n            \"simpleValueType\": true\n          }\n        ],\n        \"displayValue\": \"Custom\"\n      }\n    ],\n    \"simpleValueType\": true,\n    \"defaultValue\": \"standard\"\n  },\n  {\n    \"type\": \"SELECT\",\n    \"name\": \"eventConversionType\",\n    \"displayName\": \"Event Conversion Type\",\n    \"macrosInSelect\": false,\n    \"selectItems\": [\n      {\n        \"value\": \"WEB\",\n        \"displayValue\": \"Web\"\n      },\n      {\n        \"value\": \"OFFLINE\",\n        \"displayValue\": \"Offline\"\n      },\n      {\n        \"value\": \"MOBILE_APP\",\n        \"displayValue\": \"Mobile App\"\n      }\n    ],\n    \"simpleValueType\": true,\n    \"defaultValue\": \"WEB\",\n    \"valueValidators\": [\n      {\n        \"type\": \"NON_EMPTY\"\n      }\n    ]\n  },\n  {\n    \"type\": \"TEXT\",\n    \"name\": \"pixelId\",\n    \"displayName\": \"Pixel ID\",\n    \"simpleValueType\": true,\n    \"valueValidators\": [\n      {\n        \"type\": \"NON_EMPTY\"\n      }\n    ],\n    \"help\": \"Set to a valid Pixel ID. You can only add a single Pixel ID per tag.\",\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"eventConversionType\",\n        \"paramValue\": \"MOBILE_APP\",\n        \"type\": \"NOT_EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"TEXT\",\n    \"name\": \"appId\",\n    \"displayName\": \"App ID\",\n    \"simpleValueType\": true,\n    \"valueValidators\": [\n      {\n        \"type\": \"NON_EMPTY\"\n      }\n    ],\n    \"help\": \"The unique ID (app_id) assigned for a given application. It should be numeric for iOS, and the human interpretable string (example: com.snapchat.android) for Android. Required for app events.\",\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"eventConversionType\",\n        \"paramValue\": \"MOBILE_APP\",\n        \"type\": \"EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"TEXT\",\n    \"name\": \"snapAppId\",\n    \"displayName\": \"Snap App ID\",\n    \"simpleValueType\": true,\n    \"valueValidators\": [\n      {\n        \"type\": \"NON_EMPTY\"\n      }\n    ],\n    \"help\": \"The Snap App ID associated with your app (a unique code generated in Ads Manager and included in your MMP dashboard).\",\n    \"enablingConditions\": [\n      {\n        \"paramName\": \"eventConversionType\",\n        \"paramValue\": \"MOBILE_APP\",\n        \"type\": \"EQUALS\"\n      }\n    ]\n  },\n  {\n    \"type\": \"TEXT\",\n    \"name\": \"accessToken\",\n    \"displayName\": \"Access Token\",\n    \"simpleValueType\": true,\n    \"help\": \"More info on how to get Access Token \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://docs.snap.com/api/marketing-api/Conversions-API/GetStarted#access-token\\\"\\u003ecan be found by this link\\u003c/a\\u003e.\",\n    \"valueValidators\": [\n      {\n        \"type\": \"NON_EMPTY\"\n      }\n    ]\n  },\n  {\n    \"type\": \"CHECKBOX\",\n    \"name\": \"useHttpOnlyCookie\",\n    \"checkboxText\": \"Use HttpOnly cookies\",\n    \"simpleValueType\": true,\n    \"help\": \"Forbids JavaScript from accessing the cookie if enabled.\"\n  },\n  {\n    \"type\": \"CHECKBOX\",\n    \"name\": \"useOptimisticScenario\",\n    \"checkboxText\": \"Use Optimistic Scenario\",\n    \"simpleValueType\": true,\n    \"help\": \"The tag will call gtmOnSuccess() without waiting for a response from the API. This will speed up sGTM response time however your tag will always return the status fired successfully even in case it is not.\"\n  },\n  {\n    \"type\": \"CHECKBOX\",\n    \"name\": \"notSetClickIdCookie\",\n    \"checkboxText\": \"Do not set Click ID (_scclid) cookie\",\n    \"simpleValueType\": true,\n    \"help\": \"Do not set Click ID (_scclid) cookie if it was added to user data.\",\n    \"defaultValue\": false\n  },\n  {\n    \"type\": \"CHECKBOX\",\n    \"name\": \"notSetBrowserIdCookie\",\n    \"checkboxText\": \"Do not set Browser ID (_scid) cookie\",\n    \"simpleValueType\": true,\n    \"help\": \"Do not set Browser ID (_scid) cookie if it was added to user data.\\n\\u003cbr\\u003e\\nDo not auto-generate it.\\n\\u003cbr\\u003e\\nIf an existing Browser ID is found, it will still be sent in the request but not stored as a cookie. It can be sourced from:\\u003cul\\u003e\\n\\u003cli\\u003ean already existing \\u003ci\\u003e_scid\\u003c/i\\u003e cookie\\u003c/li\\u003e\\n\\u003cli\\u003eEvent Data parameters: \\u003ci\\u003ecommonCookie._scid\\u003c/i\\u003e, \\u003ci\\u003escid\\u003c/i\\u003e or \\u003ci\\u003e_scid\\u003c/i\\u003e\\u003c/li\\u003e\\n\\u003c/ul\\u003e\",\n    \"defaultValue\": false\n  },\n  {\n    \"type\": \"CHECKBOX\",\n    \"name\": \"validate\",\n    \"checkboxText\": \"Test Mode\",\n    \"simpleValueType\": true,\n    \"help\": \"If enabled conversion request will be sent to /v3/{{asset_id}}/events/validate \\u003ca href\\u003d\\\"https://docs.snap.com/api/marketing-api/Conversions-API/VerifySetUp\\\"\\u003emore info\\u003c/a\\u003e\"\n  },\n  {\n    \"displayName\": \"Server Parameters\",\n    \"name\": \"serverDataListGroup\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"type\": \"GROUP\",\n    \"subParams\": [\n      {\n        \"type\": \"SIMPLE_TABLE\",\n        \"name\": \"serverDataList\",\n        \"displayName\": \"\",\n        \"simpleTableColumns\": [\n          {\n            \"defaultValue\": \"event_id\",\n            \"displayName\": \"Name\",\n            \"name\": \"name\",\n            \"type\": \"SELECT\",\n            \"selectItems\": [\n              {\n                \"value\": \"event_id\",\n                \"displayValue\": \"Event ID\"\n              },\n              {\n                \"value\": \"event_source_url\",\n                \"displayValue\": \"Event Source URL\"\n              },\n              {\n                \"value\": \"data_processing_options\",\n                \"displayValue\": \"Data Processing Options\"\n              },\n              {\n                \"value\": \"test_event_code\",\n                \"displayValue\": \"Test Event Code\"\n              },\n              {\n                \"value\": \"event_time\",\n                \"displayValue\": \"Event Time\"\n              }\n            ],\n            \"isUnique\": true,\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ]\n          },\n          {\n            \"defaultValue\": \"\",\n            \"displayName\": \"Value\",\n            \"name\": \"value\",\n            \"type\": \"TEXT\",\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ]\n          }\n        ],\n        \"newRowButtonText\": \"Add property\"\n      }\n    ]\n  },\n  {\n    \"displayName\": \"User Data Parameters\",\n    \"name\": \"userDataListGroup\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"type\": \"GROUP\",\n    \"subParams\": [\n      {\n        \"type\": \"LABEL\",\n        \"name\": \"userDataLabel\",\n        \"displayName\": \"All parameters in this section will be automatically hashed if they are not hashed.\"\n      },\n      {\n        \"name\": \"userDataList\",\n        \"simpleTableColumns\": [\n          {\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ],\n            \"defaultValue\": \"em\",\n            \"displayName\": \"Property Name\",\n            \"name\": \"name\",\n            \"isUnique\": true,\n            \"type\": \"SELECT\",\n            \"selectItems\": [\n              {\n                \"value\": \"em\",\n                \"displayValue\": \"Email\"\n              },\n              {\n                \"value\": \"ph\",\n                \"displayValue\": \"Phone Number\"\n              },\n              {\n                \"value\": \"client_ip_address\",\n                \"displayValue\": \"IP Address\"\n              },\n              {\n                \"value\": \"madid\",\n                \"displayValue\": \"MAID (IDFA or AAID)\"\n              },\n              {\n                \"value\": \"idfv\",\n                \"displayValue\": \"IDFV\"\n              },\n              {\n                \"value\": \"fn\",\n                \"displayValue\": \"First Name\"\n              },\n              {\n                \"value\": \"ln\",\n                \"displayValue\": \"Last Name\"\n              },\n              {\n                \"value\": \"ct\",\n                \"displayValue\": \"City\"\n              },\n              {\n                \"value\": \"st\",\n                \"displayValue\": \"State\"\n              },\n              {\n                \"value\": \"zp\",\n                \"displayValue\": \"Zip\"\n              },\n              {\n                \"value\": \"country\",\n                \"displayValue\": \"Country\"\n              },\n              {\n                \"value\": \"external_id\",\n                \"displayValue\": \"External ID\"\n              },\n              {\n                \"value\": \"subscription_id\",\n                \"displayValue\": \"Subscription ID\"\n              },\n              {\n                \"value\": \"lead_id\",\n                \"displayValue\": \"Lead ID\"\n              },\n              {\n                \"value\": \"anon_id\",\n                \"displayValue\": \"Anon id\"\n              },\n              {\n                \"value\": \"download_id\",\n                \"displayValue\": \"Download ID\"\n              },\n              {\n                \"value\": \"client_user_agent\",\n                \"displayValue\": \"User Agent\"\n              },\n              {\n                \"value\": \"sc_click_id\",\n                \"displayValue\": \"Click ID\"\n              },\n              {\n                \"value\": \"sc_cookie1\",\n                \"displayValue\": \"Browser ID\"\n              }\n            ]\n          },\n          {\n            \"defaultValue\": \"\",\n            \"displayName\": \"Property Value\",\n            \"name\": \"value\",\n            \"type\": \"TEXT\"\n          }\n        ],\n        \"type\": \"SIMPLE_TABLE\",\n        \"newRowButtonText\": \"Add property\"\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"appDataListGroup\",\n    \"displayName\": \"App Data Parameters\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"subParams\": [\n      {\n        \"type\": \"SIMPLE_TABLE\",\n        \"name\": \"appDataList\",\n        \"displayName\": \"\",\n        \"simpleTableColumns\": [\n          {\n            \"defaultValue\": \"extinfo\",\n            \"displayName\": \"Name\",\n            \"name\": \"name\",\n            \"type\": \"SELECT\",\n            \"isUnique\": true,\n            \"selectItems\": [\n              {\n                \"value\": \"extinfo\",\n                \"displayValue\": \"Extinfo\"\n              },\n              {\n                \"value\": \"advertiser_tracking_enabled\",\n                \"displayValue\": \"Advertiser Tracking Enabled\"\n              }\n            ],\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ]\n          },\n          {\n            \"defaultValue\": \"\",\n            \"displayName\": \"Value\",\n            \"name\": \"value\",\n            \"type\": \"TEXT\",\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ]\n          }\n        ],\n        \"newRowButtonText\": \"Add property\"\n      }\n    ]\n  },\n  {\n    \"displayName\": \"Custom Data Parameters\",\n    \"name\": \"customDataListGroup\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"type\": \"GROUP\",\n    \"subParams\": [\n      {\n        \"type\": \"LABEL\",\n        \"name\": \"сustomDataLabel\",\n        \"displayName\": \"See \\u003ca href\\u003d\\\"https://docs.snap.com/api/marketing-api/Conversions-API/Parameters\\\" target\\u003d\\\"_blank\\\"\\u003ethis documentation\\u003c/a\\u003e for more details on what data parameters you can add to the call.\"\n      },\n      {\n        \"name\": \"customDataList\",\n        \"simpleTableColumns\": [\n          {\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ],\n            \"defaultValue\": \"\",\n            \"displayName\": \"Property Name\",\n            \"name\": \"name\",\n            \"isUnique\": true,\n            \"type\": \"TEXT\"\n          },\n          {\n            \"defaultValue\": \"\",\n            \"displayName\": \"Property Value\",\n            \"name\": \"value\",\n            \"type\": \"TEXT\"\n          }\n        ],\n        \"type\": \"SIMPLE_TABLE\",\n        \"newRowButtonText\": \"Add property\"\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"consentSettingsGroup\",\n    \"displayName\": \"Consent Settings\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"subParams\": [\n      {\n        \"type\": \"RADIO\",\n        \"name\": \"adStorageConsent\",\n        \"displayName\": \"\",\n        \"radioItems\": [\n          {\n            \"value\": \"optional\",\n            \"displayValue\": \"Send data always\"\n          },\n          {\n            \"value\": \"required\",\n            \"displayValue\": \"Send data in case marketing consent given\"\n          }\n        ],\n        \"simpleValueType\": true,\n        \"defaultValue\": \"optional\"\n      }\n    ]\n  },\n  {\n    \"displayName\": \"Logs Settings\",\n    \"name\": \"logsGroup\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"type\": \"GROUP\",\n    \"subParams\": [\n      {\n        \"type\": \"RADIO\",\n        \"name\": \"logType\",\n        \"radioItems\": [\n          {\n            \"value\": \"no\",\n            \"displayValue\": \"Do not log\"\n          },\n          {\n            \"value\": \"debug\",\n            \"displayValue\": \"Log to console during debug and preview\"\n          },\n          {\n            \"value\": \"always\",\n            \"displayValue\": \"Always log to console\"\n          }\n        ],\n        \"simpleValueType\": true,\n        \"defaultValue\": \"debug\"\n      }\n    ]\n  },\n  {\n    \"displayName\": \"BigQuery Logs Settings\",\n    \"name\": \"bigQueryLogsGroup\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"type\": \"GROUP\",\n    \"subParams\": [\n      {\n        \"type\": \"RADIO\",\n        \"name\": \"bigQueryLogType\",\n        \"radioItems\": [\n          {\n            \"value\": \"no\",\n            \"displayValue\": \"Do not log to BigQuery\"\n          },\n          {\n            \"value\": \"always\",\n            \"displayValue\": \"Log to BigQuery\"\n          }\n        ],\n        \"simpleValueType\": true,\n        \"defaultValue\": \"no\"\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"logsBigQueryConfigGroup\",\n        \"groupStyle\": \"NO_ZIPPY\",\n        \"subParams\": [\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"logBigQueryProjectId\",\n            \"displayName\": \"BigQuery Project ID\",\n            \"simpleValueType\": true,\n            \"help\": \"Optional.  \\u003cbr\\u003e\\u003cbr\\u003e  If omitted, it will be retrieved from the environment variable \\u003cI\\u003eGOOGLE_CLOUD_PROJECT\\u003c/i\\u003e where the server container is running. If the server container is running on Google Cloud, \\u003cI\\u003eGOOGLE_CLOUD_PROJECT\\u003c/i\\u003e will already be set to the Google Cloud project\\u0027s ID.\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"logBigQueryDatasetId\",\n            \"displayName\": \"BigQuery Dataset ID\",\n            \"simpleValueType\": true,\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"logBigQueryTableId\",\n            \"displayName\": \"BigQuery Table ID\",\n            \"simpleValueType\": true,\n            \"valueValidators\": [\n              {\n                \"type\": \"NON_EMPTY\"\n              }\n            ]\n          }\n        ],\n        \"enablingConditions\": [\n          {\n            \"paramName\": \"bigQueryLogType\",\n            \"paramValue\": \"always\",\n            \"type\": \"EQUALS\"\n          }\n        ]\n      }\n    ]\n  }\n]\n\n\n___SANDBOXED_JS_FOR_SERVER___\n\nconst getAllEventData = require('getAllEventData');\nconst JSON = require('JSON');\nconst sendHttpRequest = require('sendHttpRequest');\nconst getTimestampMillis = require('getTimestampMillis');\nconst setCookie = require('setCookie');\nconst getCookieValues = require('getCookieValues');\nconst getContainerVersion = require('getContainerVersion');\nconst logToConsole = require('logToConsole');\nconst sha256Sync = require('sha256Sync');\nconst makeString = require('makeString');\nconst getRequestHeader = require('getRequestHeader');\nconst getType = require('getType');\nconst Math = require('Math');\nconst generateRandom = require('generateRandom');\nconst parseUrl = require('parseUrl');\nconst makeNumber = require('makeNumber');\nconst encodeUriComponent = require('encodeUriComponent');\nconst BigQuery = require('BigQuery');\n\n/**********************************************************************************************/\n\nconst traceId = getRequestHeader('trace-id');\n\nconst eventData = getAllEventData();\n\nif (!isConsentGivenOrNotRequired()) {\n  return data.gtmOnSuccess();\n}\n\nconst url = eventData.page_location || getRequestHeader('referer');\nif (url && url.lastIndexOf('https://gtm-msr.appspot.com/', 0) === 0) {\n  return data.gtmOnSuccess();\n}\n\nconst pixelOrAppId = data.eventConversionType === 'MOBILE_APP' ? data.snapAppId : data.pixelId;\nif (!pixelOrAppId || !data.accessToken) {\n  return data.gtmOnFailure();\n}\n\nconst commonCookie = eventData.common_cookie || {};\n\nsendTrackRequest(mapEvent(eventData, data));\n\nif (data.useOptimisticScenario) {\n  data.gtmOnSuccess();\n}\n\n/**********************************************************************************************/\n// Vendor related functions\n\nfunction sendTrackRequest(mappedEvent) {\n  const postBody = {\n    data: [mappedEvent]\n  };\n  const postUrl = getPostUrl();\n\n  log({\n    Name: 'Snapchat',\n    Type: 'Request',\n    TraceId: traceId,\n    EventName: mappedEvent.event_name,\n    RequestMethod: 'POST',\n    RequestUrl: postUrl,\n    RequestBody: postBody\n  });\n\n  const cookieOptions = {\n    domain: 'auto',\n    path: '/',\n    samesite: 'Lax',\n    secure: true,\n    'max-age': 31536000, // 1 year\n    httpOnly: !!data.useHttpOnlyCookie\n  };\n\n  if (mappedEvent.user_data.sc_click_id && !data.notSetClickIdCookie) {\n    setCookie('_scclid', mappedEvent.user_data.sc_click_id, cookieOptions);\n  }\n\n  if (mappedEvent.user_data.sc_cookie1 && !data.notSetBrowserIdCookie) {\n    setCookie('_scid', mappedEvent.user_data.sc_cookie1, cookieOptions);\n  }\n\n  sendHttpRequest(\n    postUrl,\n    (statusCode, headers, body) => {\n      log({\n        Name: 'Snapchat',\n        Type: 'Response',\n        TraceId: traceId,\n        EventName: mappedEvent.event_name,\n        ResponseStatusCode: statusCode,\n        ResponseHeaders: headers,\n        ResponseBody: body\n      });\n\n      if (!data.useOptimisticScenario) {\n        if (statusCode >= 200 && statusCode < 400) {\n          data.gtmOnSuccess();\n        } else {\n          data.gtmOnFailure();\n        }\n      }\n    },\n    {\n      headers: {\n        'Content-Type': 'application/json'\n      },\n      method: 'POST'\n    },\n    JSON.stringify(postBody)\n  );\n}\n\nfunction getPostUrl() {\n  let postUrl = 'https://tr.snapchat.com/v3/' + encodeUriComponent(pixelOrAppId) + '/events';\n  if (data.validate) {\n    postUrl = postUrl + '/validate';\n  }\n  postUrl = postUrl + '?access_token=' + data.accessToken;\n  return postUrl;\n}\n\nfunction getEventName(eventData, data) {\n  if (data.eventType === 'inherit') {\n    const eventName = eventData.event_name;\n\n    const gaToEventName = {\n      page_view: 'PAGE_VIEW',\n      'gtm.dom': 'PAGE_VIEW',\n      add_to_cart: 'ADD_CART',\n      sign_up: 'SIGN_UP',\n      purchase: 'PURCHASE',\n      view_item: 'VIEW_CONTENT',\n      add_to_wishlist: 'ADD_TO_WISHLIST',\n      begin_checkout: 'START_CHECKOUT',\n      add_payment_info: 'ADD_BILLING',\n      view_item_list: 'LIST_VIEW',\n      tutorial_complete: 'COMPLETE_TUTORIAL',\n      search: 'SEARCH',\n      generate_lead: 'SIGN_UP',\n\n      contact: 'CUSTOM_EVENT_2',\n      customize_product: 'CUSTOM_EVENT_3',\n      donate: 'SPENT_CREDITS',\n      find_location: 'SEARCH',\n      schedule: 'CUSTOM_EVENT_4',\n      start_trial: 'START_TRIAL',\n      submit_application: 'SUBSCRIBE',\n      subscribe: 'SUBSCRIBE',\n\n      'gtm4wp.addProductToCartEEC': 'ADD_CART',\n      'gtm4wp.productClickEEC': 'VIEW_CONTENT',\n      'gtm4wp.checkoutOptionEEC': 'START_CHECKOUT',\n      'gtm4wp.checkoutStepEEC': 'ADD_BILLING',\n      'gtm4wp.orderCompletedEEC': 'PURCHASE'\n    };\n\n    if (!gaToEventName[eventName]) {\n      return eventName;\n    }\n\n    return gaToEventName[eventName];\n  }\n\n  return data.eventType === 'standard' ? data.eventNameStandard : data.eventNameCustom;\n}\n\nfunction mapEvent(eventData, data) {\n  let mappedData = {\n    version: '3.0',\n    user_data: {},\n    custom_data: {}\n  };\n\n  mappedData = addServerData(eventData, mappedData);\n  mappedData = addUserData(eventData, mappedData);\n  mappedData = addCustomData(eventData, mappedData);\n  mappedData = addAppData(eventData, mappedData);\n  mappedData = hashDataIfNeeded(mappedData);\n\n  return mappedData;\n}\n\nfunction addCustomData(eventData, mappedData) {\n  let currencyFromItems = '';\n  let valueFromItems = 0;\n\n  if (eventData.items && eventData.items[0]) {\n    mappedData.custom_data.contents = [];\n    mappedData.custom_data.content_type = 'product';\n    currencyFromItems = eventData.items[0].currency;\n    mappedData.custom_data.num_items = eventData.items.length;\n\n    if (!eventData.items[1]) {\n      if (eventData.items[0].item_name) mappedData.custom_data.content_name = eventData.items[0].item_name;\n      if (eventData.items[0].item_category) mappedData.custom_data.content_category = eventData.items[0].item_category;\n      if (eventData.items[0].item_id) mappedData.custom_data.content_ids = eventData.items[0].item_id;\n\n      if (eventData.items[0].price) {\n        mappedData.custom_data.value = eventData.items[0].quantity\n          ? eventData.items[0].quantity * eventData.items[0].price\n          : eventData.items[0].price;\n      }\n    }\n\n    const itemIdKey = data.itemIdKey ? data.itemIdKey : 'item_id';\n    eventData.items.forEach((d, i) => {\n      const content = {};\n      if (d[itemIdKey]) content.id = d[itemIdKey];\n      if (d.quantity) content.quantity = d.quantity;\n      if (d.delivery_category) content.delivery_category = d.delivery_category;\n\n      if (d.price) {\n        content.item_price = makeNumber(d.price);\n        valueFromItems += d.quantity ? d.quantity * content.item_price : content.item_price;\n      }\n\n      mappedData.custom_data.contents.push(content);\n    });\n  }\n\n  if (eventData['x-ga-mp1-ev']) mappedData.custom_data.value = eventData['x-ga-mp1-ev'];\n  else if (eventData['x-ga-mp1-tr']) mappedData.custom_data.value = eventData['x-ga-mp1-tr'];\n  else if (eventData.value) mappedData.custom_data.value = eventData.value;\n\n  if (eventData.currency) mappedData.custom_data.currency = eventData.currency;\n  else if (currencyFromItems) mappedData.custom_data.currency = currencyFromItems;\n\n  if (eventData.search_term) mappedData.custom_data.search_string = eventData.search_term;\n\n  if (eventData.transaction_id) mappedData.custom_data.order_id = eventData.transaction_id;\n\n  if (mappedData.event_name === 'Purchase') {\n    if (!mappedData.custom_data.currency) mappedData.custom_data.currency = 'USD';\n    if (!mappedData.custom_data.value) mappedData.custom_data.value = valueFromItems ? valueFromItems : 0;\n  }\n  if (eventData.predicted_ltv) mappedData.custom_data.predicted_ltv = eventData.predicted_ltv;\n  if (eventData.sign_up_method) mappedData.custom_data.sign_up_method = eventData.sign_up_method;\n  if (eventData.brands) mappedData.custom_data.brands = eventData.brands;\n\n  if (data.customDataList) {\n    data.customDataList.forEach((d) => {\n      if (isValidValue(d.value)) {\n        mappedData.custom_data[d.name] = d.value;\n      }\n    });\n  }\n\n  return mappedData;\n}\n\nfunction addAppData(eventData, mappedData) {\n  if (data.eventConversionType !== 'MOBILE_APP') return mappedData;\n  const appData = eventData.app_data || {};\n  mappedData.app_data = {};\n\n  const appId = data.appId || appData.app_id;\n  if (appId) mappedData.app_data.app_id = appId;\n\n  const extinfo = data.extinfo || appData.extinfo;\n  if (extinfo) mappedData.app_data.extinfo = extinfo;\n\n  const advertiser_tracking_enabled = data.advertiserTrackingEnabled || appData.advertiser_tracking_enabled;\n  if (advertiser_tracking_enabled) mappedData.app_data.advertiser_tracking_enabled = advertiser_tracking_enabled;\n\n  if (data.appDataList) {\n    data.appDataList.forEach((d) => {\n      if (isValidValue(d.value)) {\n        mappedData.app_data[d.name] = d.value;\n      }\n    });\n  }\n\n  return mappedData;\n}\n\nfunction addServerData(eventData, mappedData) {\n  mappedData.event_name = getEventName(eventData, data);\n  mappedData.event_time = Math.round(getTimestampMillis() / 1000);\n  mappedData.action_source = data.eventConversionType;\n  mappedData.test_event_code = data.testEventCode;\n  mappedData.integration = 'stape';\n\n  if (data.eventConversionType === 'WEB') {\n    mappedData.event_source_url = eventData.page_location || getRequestHeader('referer');\n  }\n\n  const eventId = eventData.event_id || eventData.transaction_id;\n  if (eventId) mappedData.event_id = eventId;\n  if (eventData.test_event_code) mappedData.test_event_code = eventData.test_event_code;\n\n  if (data.serverDataList) {\n    data.serverDataList.forEach((d) => {\n      if (isValidValue(d.value)) {\n        mappedData[d.name] = d.value;\n      }\n    });\n  }\n\n  return mappedData;\n}\n\nfunction hashData(value) {\n  if (!value) {\n    return value;\n  }\n\n  const type = getType(value);\n\n  if (type === 'undefined' || value === 'undefined') {\n    return undefined;\n  }\n\n  if (type === 'object') {\n    return value.map((val) => {\n      return hashData(val);\n    });\n  }\n\n  if (isHashed(value)) {\n    return value;\n  }\n\n  return sha256Sync(makeString(value).trim().toLowerCase(), {\n    outputEncoding: 'hex'\n  });\n}\n\nfunction hashDataIfNeeded(mappedData) {\n  const fieldsToHash = ['em', 'ph', 'fn', 'ln', 'ge', 'ct', 'st', 'zp', 'country', 'external_id'];\n  for (let key in mappedData.user_data) {\n    if (fieldsToHash.indexOf(key) !== -1) {\n      mappedData.user_data[key] = hashData(mappedData.user_data[key]);\n    }\n  }\n  return mappedData;\n}\n\nfunction addUserData(eventData, mappedData) {\n  let address = {};\n  let user_data = {};\n  if (getType(eventData.user_data) === 'object') {\n    user_data = eventData.user_data;\n    const addressType = getType(user_data.address);\n    if (addressType === 'object' || addressType === 'array') {\n      address = user_data.address[0] || user_data.address;\n    }\n  }\n  const click_id = getClickId();\n  if (click_id) mappedData.user_data.sc_click_id = click_id;\n  const scid = getSCID();\n  if (scid) mappedData.user_data.sc_cookie1 = scid;\n\n  if (eventData.anon_id) mappedData.user_data.anon_id = eventData.anon_id;\n  if (eventData.madid) mappedData.user_data.madid = eventData.madid;\n  if (eventData.download_id) mappedData.user_data.download_id = eventData.download_id;\n  if (eventData.user_agent) mappedData.user_data.client_user_agent = eventData.user_agent;\n  if (eventData.idfv) mappedData.user_data.idfv = eventData.idfv;\n\n  if (eventData.external_id) mappedData.user_data.external_id = eventData.external_id;\n  else if (eventData.user_id) mappedData.user_data.external_id = eventData.user_id;\n  else if (eventData.userId) mappedData.user_data.external_id = eventData.userId;\n\n  if (eventData.subscription_id) mappedData.user_data.subscription_id = eventData.subscription_id;\n  else if (eventData.subscriptionId) mappedData.user_data.subscription_id = eventData.subscriptionId;\n\n  if (eventData.lead_id) mappedData.user_data.lead_id = eventData.lead_id;\n  else if (eventData.leadId) mappedData.user_data.lead_id = eventData.leadId;\n\n  if (eventData.lastName) mappedData.user_data.ln = eventData.lastName;\n  else if (eventData.LastName) mappedData.user_data.ln = eventData.LastName;\n  else if (eventData.nameLast) mappedData.user_data.ln = eventData.nameLast;\n  else if (eventData.last_name) mappedData.user_data.ln = eventData.last_name;\n  else if (user_data.last_name) mappedData.user_data.ln = user_data.last_name;\n  else if (address.last_name) mappedData.user_data.ln = address.last_name;\n\n  if (eventData.firstName) mappedData.user_data.fn = eventData.firstName;\n  else if (eventData.FirstName) mappedData.user_data.fn = eventData.FirstName;\n  else if (eventData.nameFirst) mappedData.user_data.fn = eventData.nameFirst;\n  else if (eventData.first_name) mappedData.user_data.fn = eventData.first_name;\n  else if (user_data.first_name) mappedData.user_data.fn = user_data.first_name;\n  else if (address.first_name) mappedData.user_data.fn = address.first_name;\n\n  if (eventData.email) mappedData.user_data.em = eventData.email;\n  else if (user_data.email_address) mappedData.user_data.em = user_data.email_address;\n  else if (user_data.email) mappedData.user_data.em = user_data.email;\n\n  if (eventData.phone) mappedData.user_data.ph = eventData.phone;\n  else if (user_data.phone_number) mappedData.user_data.ph = user_data.phone_number;\n\n  if (eventData.city) mappedData.user_data.ct = eventData.city;\n  else if (address.city) mappedData.user_data.ct = address.city;\n\n  if (eventData.state) mappedData.user_data.st = eventData.state;\n  else if (eventData.region) mappedData.user_data.st = eventData.region;\n  else if (user_data.region) mappedData.user_data.st = user_data.region;\n  else if (address.region) mappedData.user_data.st = address.region;\n\n  if (eventData.zip) mappedData.user_data.zp = eventData.zip;\n  else if (eventData.postal_code) mappedData.user_data.zp = eventData.postal_code;\n  else if (user_data.postal_code) mappedData.user_data.zp = user_data.postal_code;\n  else if (address.postal_code) mappedData.user_data.zp = address.postal_code;\n\n  if (eventData.countryCode) mappedData.user_data.country = eventData.countryCode;\n  else if (eventData.country) mappedData.user_data.country = eventData.country;\n  else if (user_data.country) mappedData.user_data.country = user_data.country;\n  else if (address.country) mappedData.user_data.country = address.country;\n\n  if (eventData.gender) mappedData.user_data.ge = eventData.gender;\n\n  if (eventData.ip_override) {\n    mappedData.user_data.client_ip_address = eventData.ip_override.split(' ').join('').split(',')[0];\n  }\n\n  if (data.userDataList) {\n    data.userDataList.forEach((d) => {\n      if (isValidValue(d.value)) {\n        mappedData.user_data[d.name] = d.value;\n      }\n    });\n  }\n\n  return mappedData;\n}\n\nfunction createUUID() {\n  const len = 36;\n  const chars = '0123456789abcdef'.split('');\n  let uuid = '';\n\n  for (var i = 0; i < len; i++) {\n    if (i == 8 || i == 13 || i == 18 || i == 23) {\n      uuid += '-';\n    } else if (i == 14) {\n      uuid += '4';\n    } else {\n      uuid += chars[generateRandom(0, chars.length - 1)];\n    }\n  }\n  return uuid;\n}\n\nfunction getSCID() {\n  const scid = getCookieValues('_scid')[0] || commonCookie._scid || eventData._scid || eventData.scid;\n  if (scid) {\n    return scid;\n  }\n\n  if (data.eventConversionType === 'WEB' && !data.notSetBrowserIdCookie) {\n    return createUUID();\n  }\n\n  return undefined;\n}\n\nfunction getClickId() {\n  if (eventData.click_id) return eventData.click_id;\n  const parsedUrl = parseUrl(url);\n  if (parsedUrl && parsedUrl.searchParams.ScCid) {\n    return parsedUrl.searchParams.ScCid;\n  }\n  return getCookieValues('_scclid')[0] || commonCookie._scclid;\n}\n\n/**********************************************************************************************/\n// Helpers\n\nfunction isHashed(value) {\n  if (!value) return false;\n  return makeString(value).match('^[A-Fa-f0-9]{64}$') !== null;\n}\n\nfunction isConsentGivenOrNotRequired() {\n  if (data.adStorageConsent !== 'required') return true;\n  if (eventData.consent_state) return !!eventData.consent_state.ad_storage;\n  const xGaGcs = eventData['x-ga-gcs'] || ''; // x-ga-gcs is a string like \"G110\"\n  return xGaGcs[2] === '1';\n}\n\nfunction isValidValue(value) {\n  const valueType = getType(value);\n  return valueType !== 'null' && valueType !== 'undefined' && value !== '';\n}\n\nfunction log(rawDataToLog) {\n  const logDestinationsHandlers = {};\n  if (determinateIsLoggingEnabled()) logDestinationsHandlers.console = logConsole;\n  if (determinateIsLoggingEnabledForBigQuery()) logDestinationsHandlers.bigQuery = logToBigQuery;\n\n  // Key mappings for each log destination\n  const keyMappings = {\n    // No transformation for Console is needed.\n    bigQuery: {\n      Name: 'tag_name',\n      Type: 'type',\n      TraceId: 'trace_id',\n      EventName: 'event_name',\n      RequestMethod: 'request_method',\n      RequestUrl: 'request_url',\n      RequestBody: 'request_body',\n      ResponseStatusCode: 'response_status_code',\n      ResponseHeaders: 'response_headers',\n      ResponseBody: 'response_body'\n    }\n  };\n\n  for (const logDestination in logDestinationsHandlers) {\n    const handler = logDestinationsHandlers[logDestination];\n    if (!handler) continue;\n\n    const mapping = keyMappings[logDestination];\n    const dataToLog = mapping ? {} : rawDataToLog;\n    // Map keys based on the log destination\n    if (mapping) {\n      for (const key in rawDataToLog) {\n        const mappedKey = mapping[key] || key; // Fallback to original key if no mapping exists\n        dataToLog[mappedKey] = rawDataToLog[key];\n      }\n    }\n\n    handler(dataToLog);\n  }\n}\n\nfunction logConsole(dataToLog) {\n  logToConsole(JSON.stringify(dataToLog));\n}\n\nfunction logToBigQuery(dataToLog) {\n  const connectionInfo = {\n    projectId: data.logBigQueryProjectId,\n    datasetId: data.logBigQueryDatasetId,\n    tableId: data.logBigQueryTableId\n  };\n\n  // timestamp is required.\n  dataToLog.timestamp = getTimestampMillis();\n\n  // Columns with type JSON need to be stringified.\n  ['request_body', 'response_headers', 'response_body'].forEach((p) => {\n    // GTM Sandboxed JSON.parse returns undefined for malformed JSON but throws post-execution, causing execution failure.\n    // If fixed, could use: dataToLog[p] = JSON.stringify(JSON.parse(dataToLog[p]) || dataToLog[p]);\n    dataToLog[p] = JSON.stringify(dataToLog[p]);\n  });\n\n  // assertApi doesn't work for 'BigQuery.insert()'. It's needed to convert BigQuery into a function when testing.\n  // Ref: https://gtm-gear.com/posts/gtm-templates-testing/\n  const bigquery = getType(BigQuery) === 'function' ? BigQuery() /* Only during Unit Tests */ : BigQuery;\n  bigquery.insert(connectionInfo, [dataToLog], { ignoreUnknownValues: true });\n}\n\nfunction determinateIsLoggingEnabled() {\n  const containerVersion = getContainerVersion();\n  const isDebug = !!(containerVersion && (containerVersion.debugMode || containerVersion.previewMode));\n\n  if (!data.logType) {\n    return isDebug;\n  }\n\n  if (data.logType === 'no') {\n    return false;\n  }\n\n  if (data.logType === 'debug') {\n    return isDebug;\n  }\n\n  return data.logType === 'always';\n}\n\nfunction determinateIsLoggingEnabledForBigQuery() {\n  if (data.bigQueryLogType === 'no') return false;\n  return data.bigQueryLogType === 'always';\n}\n\n\n___SERVER_PERMISSIONS___\n\n[\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"read_event_data\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"eventDataAccess\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"any\"\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"set_cookies\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"allowedCookies\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"name\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"domain\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"path\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"secure\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"session\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"_scid\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"name\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"domain\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"path\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"secure\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"session\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"_scclid\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"any\"\n                  }\n                ]\n              }\n            ]\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"send_http\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"allowedUrls\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"specific\"\n          }\n        },\n        {\n          \"key\": \"urls\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 1,\n                \"string\": \"https://tr.snapchat.com/\"\n              }\n            ]\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"get_cookies\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"cookieAccess\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"specific\"\n          }\n        },\n        {\n          \"key\": \"cookieNames\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 1,\n                \"string\": \"_scid\"\n              },\n              {\n                \"type\": 1,\n                \"string\": \"_scclid\"\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\": \"all\"\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"read_container_data\",\n        \"versionId\": \"1\"\n      },\n      \"param\": []\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"read_request\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"headerWhitelist\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"headerName\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"trace-id\"\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"headerName\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"referer\"\n                  }\n                ]\n              }\n            ]\n          }\n        },\n        {\n          \"key\": \"headersAllowed\",\n          \"value\": {\n            \"type\": 8,\n            \"boolean\": true\n          }\n        },\n        {\n          \"key\": \"requestAccess\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"specific\"\n          }\n        },\n        {\n          \"key\": \"headerAccess\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"specific\"\n          }\n        },\n        {\n          \"key\": \"queryParameterAccess\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"any\"\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"access_bigquery\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"allowedTables\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"projectId\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"datasetId\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"tableId\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"operation\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"*\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  }\n                ]\n              }\n            ]\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  }\n]\n\n\n___TESTS___\n\nscenarios:\n- name: Browser ID cookie must NOT be set if checkbox is enabled\n  code: |-\n    mockData.notSetBrowserIdCookie = true;\n\n    const scidValue = 'scid';\n    mock('getAllEventData', {\n      event_name: 'purchase',\n      eventConversionType: 'WEB',\n      _scid: scidValue,\n      //click_id: 'clickid'\n    });\n\n    mock('setCookie', (name, value, options, encode) => {\n      if (name === '_scid' && value === scidValue) fail('_scid cookie must not be set when the checkbox is enabled.');\n    });\n\n    runCode(mockData);\n- name: Browser ID parameter is NOT auto-generated and IS set on the request if it\n    comes from other source and if checkbox is enabled\n  code: |-\n    mockData.notSetBrowserIdCookie = true;\n\n    const scidValue = 'scid';\n    mock('getAllEventData', {\n      event_name: 'purchase',\n      eventConversionType: 'WEB',\n      _scid: scidValue,\n      //click_id: 'clickid'\n    });\n\n    mock('sendHttpRequest', (url, callback, headers, body) => {\n      const bodyParsed = JSON.parse(body);\n      assertThat(bodyParsed.data[0].user_data.sc_cookie1).isEqualTo(scidValue);\n    });\n\n    runCode(mockData);\n- name: Browser ID parameter is NOT auto-generated and is NOT set on the request if\n    it no other sources contains its value and if checkbox is enabled\n  code: |-\n    mockData.notSetBrowserIdCookie = true;\n\n    mock('getAllEventData', {\n      event_name: 'purchase',\n      eventConversionType: 'WEB'\n    });\n\n    mock('sendHttpRequest', (url, callback, headers, body) => {\n      const bodyParsed = JSON.parse(body);\n      assertThat(bodyParsed.data[0].user_data.sc_cookie1).isUndefined();\n    });\n\n    runCode(mockData);\n- name: Browser ID cookie must be set if checkbox is disabled\n  code: |-\n    const scidValue = 'scid';\n    mock('getAllEventData', {\n      event_name: 'purchase',\n      eventConversionType: 'WEB',\n      _scid: scidValue,\n      //click_id: 'clickid'\n    });\n\n    mock('setCookie', (name, value, options, encode) => {\n      assertThat(name).isEqualTo('_scid');\n      assertThat(value).isEqualTo(scidValue);\n    });\n\n    runCode(mockData);\n- name: Should log to console, if the 'Always log to console' option is selected\n  code: \"mockData.logType = 'always';\\n\\nconst expectedDebugMode = true;\\nmock('getContainerVersion',\\\n    \\ () => {\\n  return {\\n    debugMode: expectedDebugMode\\n  };\\n}); \\n\\nmock('logToConsole',\\\n    \\ (logData) => {\\n  const parsedLogData = JSON.parse(logData);\\n  requiredConsoleKeys.forEach(p\\\n    \\ => assertThat(parsedLogData[p]).isDefined());\\n});\\n\\nrunCode(mockData);\\n\\n\\\n    assertApi('logToConsole').wasCalled();\\n\"\n- name: Should log to console, if the 'Log during debug and preview' option is selected\n    AND is on preview mode\n  code: |\n    mockData.logType = 'debug';\n\n    const expectedDebugMode = true;\n    mock('getContainerVersion', () => {\n      return {\n        debugMode: expectedDebugMode\n      };\n    });\n\n    mock('logToConsole', (logData) => {\n      const parsedLogData = JSON.parse(logData);\n      requiredConsoleKeys.forEach(p => assertThat(parsedLogData[p]).isDefined());\n    });\n\n    runCode(mockData);\n\n    assertApi('logToConsole').wasCalled();\n- name: Should NOT log to console, if the 'Log during debug and preview' option is\n    selected AND is NOT on preview mode\n  code: \"mockData.logType = 'debug';\\n\\nconst expectedDebugMode = false;\\nmock('getContainerVersion',\\\n    \\ () => {\\n  return {\\n    debugMode: expectedDebugMode\\n  };\\n}); \\n\\nrunCode(mockData);\\n\\\n    \\nassertApi('logToConsole').wasNotCalled();\\n\"\n- name: Should NOT log to console, if the 'Do not log' option is selected\n  code: |\n    mockData.logType = 'no';\n\n    runCode(mockData);\n\n    assertApi('logToConsole').wasNotCalled();\n- name: Should log to BQ, if the 'Log to BigQuery' option is selected\n  code: \"mockData.bigQueryLogType = 'always';\\n\\n// assertApi doesn't work for 'BigQuery.insert()'.\\n\\\n    // Ref: https://gtm-gear.com/posts/gtm-templates-testing/\\nmock('BigQuery', ()\\\n    \\ => {\\n  return { \\n    insert: (connectionInfo, rows, options) => { \\n     \\\n    \\ assertThat(connectionInfo).isDefined();\\n      assertThat(rows).isArray();\\n\\\n    \\      assertThat(rows).hasLength(1);\\n      requiredBqKeys.forEach(p => assertThat(rows[0][p]).isDefined());\\n\\\n    \\      assertThat(options).isEqualTo(expectedBqOptions);\\n      return Promise.create((resolve,\\\n    \\ reject) => {\\n        resolve();\\n      });\\n    }\\n  };\\n});\\n\\nrunCode(mockData);\"\n- name: Should NOT log to BQ, if the 'Do not log to BigQuery' option is selected\n  code: \"mockData.bigQueryLogType = 'no';\\n\\n// assertApi doesn't work for 'BigQuery.insert()'.\\n\\\n    // Ref: https://gtm-gear.com/posts/gtm-templates-testing/\\nmock('BigQuery', ()\\\n    \\ => {\\n  return { \\n    insert: (connectionInfo, rows, options) => { \\n     \\\n    \\ fail('BigQuery.insert should not have been called.');\\n      return Promise.create((resolve,\\\n    \\ reject) => {\\n        resolve();\\n      });\\n    }\\n  };\\n});\\n\\nrunCode(mockData);\"\nsetup: |-\n  const setCookie = require('setCookie');\n  const JSON = require('JSON');\n  const Promise = require('Promise');\n\n  const requiredConsoleKeys = ['Type', 'TraceId', 'Name'];\n  const requiredBqKeys = ['timestamp', 'type', 'trace_id', 'tag_name'];\n\n  const expectedValue = 'test';\n  const expectedBqOptions = { ignoreUnknownValues: true };\n  const expectedPixelId = '1111111111111';\n\n  const mockData = {\n    pixelId: expectedPixelId,\n    accessToken: expectedValue,\n    eventType: 'custom',\n    eventName: expectedValue,\n    logBigQueryProjectId: expectedValue,\n    logBigQueryDatasetId: expectedValue,\n    logBigQueryTableId: expectedValue,\n  };\n\n\n___NOTES___\n\nCreated on 03/03/2022, 19:13:03\n\n\n",
                "galleryReference": {
                    "host": "github.com",
                    "owner": "stape-io",
                    "repository": "snapchat-tag",
                    "version": "d1fdfc9654af3a7d69bd16f26991649f44d0a968",
                    "signature": "aa9cbf2778e1ea907bff7d5c8c964812b95a859c69106dff0eafc22c475df49c",
                    "galleryTemplateId": "PJ5T4"
                }
            }
        ]
    }
}