{
    "exportFormatVersion": 2,
    "exportTime": "2025-05-08 14:39:27",
    "containerVersion": {
        "path": "accounts/1605609721/containers/205919598/versions/0",
        "accountId": "1605609721",
        "containerId": "205919598",
        "containerVersionId": "0",
        "container": {
            "path": "accounts/1605609721/containers/205919598",
            "accountId": "1605609721",
            "containerId": "205919598",
            "name": "accon.ai",
            "publicId": "GTM-T4BZS5TR",
            "usageContext": [
                "WEB"
            ],
            "fingerprint": "1739197381655",
            "tagManagerUrl": "https://tagmanager.google.com/#/container/accounts/1605609721/containers/205919598/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-T4BZS5TR"
            ]
        },
        "tag": [
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "4",
                "name": "00 | Tag do Google | Google Analytics",
                "type": "googtag",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "tagId",
                        "value": "{{00 | Google Analytics - ID Métrica}}"
                    }
                ],
                "fingerprint": "1746715021813",
                "firingTriggerId": [
                    "2147479573"
                ],
                "parentFolderId": "49",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "17",
                "name": "06 | Google Analytics 4 - purchase",
                "type": "gaawe",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "sendEcommerceData",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedUserId",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "eventSettingsTable",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "transaction_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - transaction_id}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "items"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - items}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "purchase"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "measurementIdOverride",
                        "value": "{{00 | Google Analytics - ID Métrica}}"
                    }
                ],
                "fingerprint": "1746638656044",
                "firingTriggerId": [
                    "11"
                ],
                "parentFolderId": "49",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "18",
                "name": "02 | Facebook Pixel - View Content",
                "type": "cvt_5RM3Q",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{00 | Facebook Pixel - ID}}"
                    },
                    {
                        "type": "LIST",
                        "key": "objectPropertyList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_ids"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids view item}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - cart value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "standardEventName",
                        "value": "ViewContent"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "disableAutoConfig",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedEcommerce",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dpoLDU",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "standard"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "objectPropertiesFromVariable",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "consent",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "advancedMatching",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639406521",
                "firingTriggerId": [
                    "8"
                ],
                "parentFolderId": "50",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "19",
                "name": "03 | Google Analytics 4 - add_to_cart",
                "type": "gaawe",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "sendEcommerceData",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedUserId",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "eventSettingsTable",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "items"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - items}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - cart value}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "add_to_cart"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "measurementIdOverride",
                        "value": "{{00 | Google Analytics - ID Métrica}}"
                    }
                ],
                "fingerprint": "1746638656044",
                "firingTriggerId": [
                    "9"
                ],
                "parentFolderId": "49",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "21",
                "name": "03.5 | Google Analytics 4 - remove_from_cart",
                "type": "gaawe",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "sendEcommerceData",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedUserId",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "eventSettingsTable",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "items"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - items}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "remove_from_cart"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "measurementIdOverride",
                        "value": "{{00 | Google Analytics - ID Métrica}}"
                    }
                ],
                "fingerprint": "1746638656044",
                "firingTriggerId": [
                    "20"
                ],
                "parentFolderId": "49",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "22",
                "name": "04 | Google Analytics 4 - begin_checkout",
                "type": "gaawe",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "sendEcommerceData",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedUserId",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "eventSettingsTable",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "items"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - items}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "begin_checkout"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "measurementIdOverride",
                        "value": "{{00 | Google Analytics - ID Métrica}}"
                    }
                ],
                "fingerprint": "1746638656044",
                "firingTriggerId": [
                    "10"
                ],
                "parentFolderId": "49",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "28",
                "name": "05 | Google Analytics 4 - add_payment_info",
                "type": "gaawe",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "sendEcommerceData",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedUserId",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "eventSettingsTable",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "items"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - items}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "add_payment_info"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "measurementIdOverride",
                        "value": "{{00 | Google Analytics - ID Métrica}}"
                    }
                ],
                "fingerprint": "1746638656044",
                "firingTriggerId": [
                    "27"
                ],
                "parentFolderId": "49",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "31",
                "name": "01 | Facebook Pixel - Page View",
                "type": "cvt_5RM3Q",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{00 | 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": "BOOLEAN",
                        "key": "consent",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "advancedMatching",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639406521",
                "firingTriggerId": [
                    "2147479553"
                ],
                "parentFolderId": "50",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "33",
                "name": "02 | Google Analytics 4 - view_item",
                "type": "gaawe",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "sendEcommerceData",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedUserId",
                        "value": "false"
                    },
                    {
                        "type": "LIST",
                        "key": "eventSettingsTable",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "items"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - items}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameter",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "parameterValue",
                                        "value": "{{DL - cart value}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "view_item"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "measurementIdOverride",
                        "value": "{{00 | Google Analytics - ID Métrica}}"
                    }
                ],
                "fingerprint": "1746638656044",
                "firingTriggerId": [
                    "8"
                ],
                "parentFolderId": "49",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "34",
                "name": "03 | Facebook Pixel - Add to Cart",
                "type": "cvt_5RM3Q",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{00 | Facebook Pixel - ID}}"
                    },
                    {
                        "type": "LIST",
                        "key": "objectPropertyList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_ids"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids purchase}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - cart value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "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": "BOOLEAN",
                        "key": "consent",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "advancedMatching",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639406521",
                "firingTriggerId": [
                    "9"
                ],
                "parentFolderId": "50",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "35",
                "name": "04 | Facebook Pixel - Initiate Checkout",
                "type": "cvt_5RM3Q",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{00 | Facebook Pixel - ID}}"
                    },
                    {
                        "type": "LIST",
                        "key": "objectPropertyList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_ids"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids purchase}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "standardEventName",
                        "value": "InitiateCheckout"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "disableAutoConfig",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedEcommerce",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dpoLDU",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "standard"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "objectPropertiesFromVariable",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "consent",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "advancedMatching",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639406522",
                "firingTriggerId": [
                    "10"
                ],
                "parentFolderId": "50",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "36",
                "name": "05 | Facebook Pixel - Add Payment Info",
                "type": "cvt_5RM3Q",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{00 | Facebook Pixel - ID}}"
                    },
                    {
                        "type": "LIST",
                        "key": "objectPropertyList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_ids"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids purchase}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "standardEventName",
                        "value": "AddPaymentInfo"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "disableAutoConfig",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedEcommerce",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dpoLDU",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "standard"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "objectPropertiesFromVariable",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "consent",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "advancedMatching",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639406522",
                "firingTriggerId": [
                    "27"
                ],
                "parentFolderId": "50",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "37",
                "name": "06 | Facebook Pixel - Purchase",
                "type": "cvt_5RM3Q",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "disablePushState",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixelId",
                        "value": "{{00 | Facebook Pixel - ID}}"
                    },
                    {
                        "type": "LIST",
                        "key": "objectPropertyList",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_ids"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids purchase}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "name",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "standardEventName",
                        "value": "Purchase"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "disableAutoConfig",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhancedEcommerce",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "dpoLDU",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "eventName",
                        "value": "standard"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "objectPropertiesFromVariable",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "consent",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "advancedMatching",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639406522",
                "firingTriggerId": [
                    "11"
                ],
                "parentFolderId": "50",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "39",
                "name": "01 | Google Ads Pixel - Page View",
                "type": "awct",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "enableNewCustomerReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableConversionLinker",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableProductReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableEnhancedConversion",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionCookiePrefix",
                        "value": "_gcl"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableShippingData",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionId",
                        "value": "{{00 | Google Ads - ID de conversão}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionLabel",
                        "value": "ALTERARyvtHCJXF3_8YEMvclNEq"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "rdp",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639438832",
                "firingTriggerId": [
                    "2147479553"
                ],
                "parentFolderId": "51",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "40",
                "name": "03 | Google Ads Pixel - Add to Cart",
                "type": "awct",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "enableNewCustomerReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableConversionLinker",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableProductReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableEnhancedConversion",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionValue",
                        "value": "{{DL - cart value}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionCookiePrefix",
                        "value": "_gcl"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableShippingData",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionId",
                        "value": "{{00 | Google Ads - ID de conversão}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "currencyCode",
                        "value": "{{DL - currency}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionLabel",
                        "value": "coloque_id_do_rotulo_add_to_cart"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "rdp",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639438832",
                "firingTriggerId": [
                    "9"
                ],
                "parentFolderId": "51",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "41",
                "name": "04 | Google Ads Pixel - Initiate Checkout",
                "type": "awct",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "enableNewCustomerReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableConversionLinker",
                        "value": "true"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableProductReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableEnhancedConversion",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionValue",
                        "value": "{{DL - value}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionCookiePrefix",
                        "value": "_gcl"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableShippingData",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionId",
                        "value": "{{00 | Google Ads - ID de conversão}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "currencyCode",
                        "value": "{{DL - currency}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionLabel",
                        "value": "coloque_id_do_rotulo_initiate_checkout"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "rdp",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639438833",
                "firingTriggerId": [
                    "10"
                ],
                "parentFolderId": "51",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "42",
                "name": "06 | Google Ads Pixel - Purchase",
                "type": "awct",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "enableNewCustomerReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableConversionLinker",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "orderId",
                        "value": "{{DL - transaction_id}}"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableProductReporting",
                        "value": "false"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableEnhancedConversion",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionValue",
                        "value": "{{DL - value}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionCookiePrefix",
                        "value": "_gcl"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enableShippingData",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionId",
                        "value": "{{00 | Google Ads - ID de conversão}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "currencyCode",
                        "value": "{{DL - currency}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "conversionLabel",
                        "value": "coloque_id_do_rotulo_compra"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "rdp",
                        "value": "false"
                    }
                ],
                "fingerprint": "1746639438833",
                "firingTriggerId": [
                    "11"
                ],
                "parentFolderId": "51",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "43",
                "name": "Vinculador de conversões",
                "type": "gclidw",
                "parameter": [
                    {
                        "type": "BOOLEAN",
                        "key": "enableCrossDomain",
                        "value": "true"
                    }
                ],
                "fingerprint": "1746639566512",
                "firingTriggerId": [
                    "2147479573"
                ],
                "parentFolderId": "51",
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "44",
                "name": "02 | Tiktok Pixel - View Content",
                "type": "cvt_MRQN8",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "ga_ecomm",
                        "value": "ecomm"
                    },
                    {
                        "type": "LIST",
                        "key": "custom_properties",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids view item}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - cart value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixel_code",
                        "value": "{{00 | Tiktok Pixel - ID}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "event",
                        "value": "ViewContent"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhance_ecomm",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "hash",
                        "value": "hashed"
                    }
                ],
                "fingerprint": "1746714287394",
                "firingTriggerId": [
                    "8"
                ],
                "parentFolderId": "52",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "45",
                "name": "03 | Tiktok Pixel - Add to Cart",
                "type": "cvt_MRQN8",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "ga_ecomm",
                        "value": "ecomm"
                    },
                    {
                        "type": "LIST",
                        "key": "custom_properties",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids purchase}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixel_code",
                        "value": "{{00 | Tiktok Pixel - ID}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "event",
                        "value": "AddToCart"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhance_ecomm",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "hash",
                        "value": "hashed"
                    }
                ],
                "fingerprint": "1746714302394",
                "firingTriggerId": [
                    "9"
                ],
                "parentFolderId": "52",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "46",
                "name": "04 | Tiktok Pixel - Initiate Checkout",
                "type": "cvt_MRQN8",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "ga_ecomm",
                        "value": "ecomm"
                    },
                    {
                        "type": "LIST",
                        "key": "custom_properties",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids purchase}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixel_code",
                        "value": "{{00 | Tiktok Pixel - ID}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "event",
                        "value": "InitiateCheckout"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhance_ecomm",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "hash",
                        "value": "hashed"
                    }
                ],
                "fingerprint": "1746714318066",
                "firingTriggerId": [
                    "10"
                ],
                "parentFolderId": "52",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "47",
                "name": "05 | Tiktok Pixel - Add Payment Info",
                "type": "cvt_MRQN8",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "ga_ecomm",
                        "value": "ecomm"
                    },
                    {
                        "type": "LIST",
                        "key": "custom_properties",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids purchase}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixel_code",
                        "value": "{{00 | Tiktok Pixel - ID}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "event",
                        "value": "AddPaymentInfo"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhance_ecomm",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "hash",
                        "value": "hashed"
                    }
                ],
                "fingerprint": "1746714333229",
                "firingTriggerId": [
                    "27"
                ],
                "parentFolderId": "52",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "tagId": "48",
                "name": "06 | Tiktok Pixel - Purchase",
                "type": "cvt_MRQN8",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "ga_ecomm",
                        "value": "ecomm"
                    },
                    {
                        "type": "LIST",
                        "key": "custom_properties",
                        "list": [
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_type"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "product"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "content_id"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - content_ids purchase}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "value"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - value}}"
                                    }
                                ]
                            },
                            {
                                "type": "MAP",
                                "map": [
                                    {
                                        "type": "TEMPLATE",
                                        "key": "key",
                                        "value": "currency"
                                    },
                                    {
                                        "type": "TEMPLATE",
                                        "key": "value",
                                        "value": "{{DL - currency}}"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "pixel_code",
                        "value": "{{00 | Tiktok Pixel - ID}}"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "event",
                        "value": "CompletePayment"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "enhance_ecomm",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "hash",
                        "value": "hashed"
                    }
                ],
                "fingerprint": "1746714345031",
                "firingTriggerId": [
                    "11"
                ],
                "parentFolderId": "52",
                "tagFiringOption": "ONCE_PER_EVENT",
                "monitoringMetadata": {
                    "type": "MAP"
                },
                "consentSettings": {
                    "consentStatus": "NOT_SET"
                }
            }
        ],
        "trigger": [
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "triggerId": "8",
                "name": "Event - view_item",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "view_item"
                            }
                        ]
                    }
                ],
                "fingerprint": "1746639557737",
                "parentFolderId": "54"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "triggerId": "9",
                "name": "Event - 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": "1746639557736",
                "parentFolderId": "54"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "triggerId": "10",
                "name": "Event - begin_checkout",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "begin_checkout"
                            }
                        ]
                    }
                ],
                "fingerprint": "1746639557737",
                "parentFolderId": "54"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "triggerId": "11",
                "name": "Event - purchase",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "purchase"
                            }
                        ]
                    }
                ],
                "fingerprint": "1746639557737",
                "parentFolderId": "54"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "triggerId": "12",
                "name": "Event - page_view",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "page_view"
                            }
                        ]
                    }
                ],
                "fingerprint": "1746639557736",
                "parentFolderId": "54"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "triggerId": "20",
                "name": "Event - remove_from_cart",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "remove_from_cart"
                            }
                        ]
                    }
                ],
                "fingerprint": "1746639557737",
                "parentFolderId": "54"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "triggerId": "27",
                "name": "Event - add_payment_info",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "add_payment_info"
                            }
                        ]
                    }
                ],
                "fingerprint": "1746639557737",
                "parentFolderId": "54"
            }
        ],
        "variable": [
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "3",
                "name": "00 | Google Analytics - ID Métrica",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "G-6ZY4GTGPKJ"
                    }
                ],
                "fingerprint": "1746638656045",
                "parentFolderId": "49",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "13",
                "name": "DL - transaction_id",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "transaction_id"
                    }
                ],
                "fingerprint": "1746639520137",
                "parentFolderId": "53",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "14",
                "name": "DL - currency",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "defaultValue",
                        "value": "BRL"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "currency"
                    }
                ],
                "fingerprint": "1746639520136",
                "parentFolderId": "53",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "15",
                "name": "DL - items",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "items"
                    }
                ],
                "fingerprint": "1746639520137",
                "parentFolderId": "53",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "16",
                "name": "DL - value",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "true"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "defaultValue",
                        "value": "0"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "value"
                    }
                ],
                "fingerprint": "1746639520137",
                "parentFolderId": "53",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "23",
                "name": "Soma Valor de Todos os Produtos Carrinho",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "function() {\nvar items = {{DL - items}}; // Aqui você precisa já ter criado uma variável DLV que pega 'items'\nif (!items || !Array.isArray(items)) return 0;\n\nreturn items.reduce(function(total, item) {\nreturn total + (item.price ? Number(item.price) : 0);\n}, 0);\n}"
                    }
                ],
                "fingerprint": "1746639520129",
                "parentFolderId": "53",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "24",
                "name": "DL - cart value",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "items.0.price"
                    }
                ],
                "fingerprint": "1746639520130",
                "parentFolderId": "53",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "25",
                "name": "00 | Facebook Pixel - ID",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "1190421385903578"
                    }
                ],
                "fingerprint": "1746714245340",
                "parentFolderId": "50",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "26",
                "name": "00 | Google Ads - ID de conversão",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "Coloque o ID de Conversão Aqui"
                    }
                ],
                "fingerprint": "1746714255214",
                "parentFolderId": "51",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "32",
                "name": "DL - content_ids view item",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "items.0.item_id"
                    }
                ],
                "fingerprint": "1746639520130",
                "parentFolderId": "53",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "38",
                "name": "DL - content_ids purchase",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "function() {\n  return {{DL - items}}.map(function(item) {\n    return item.item_id;\n  });\n}"
                    }
                ],
                "fingerprint": "1746639520130",
                "parentFolderId": "53",
                "formatValue": {}
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "variableId": "55",
                "name": "00 | Tiktok Pixel - ID",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "Coloque aqui o ID do Pixel"
                    }
                ],
                "fingerprint": "1746714264368",
                "parentFolderId": "52",
                "formatValue": {}
            }
        ],
        "folder": [
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "folderId": "49",
                "name": "🟡 Google Analytics",
                "fingerprint": "1746638654620"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "folderId": "50",
                "name": "🔵 Facebook",
                "fingerprint": "1746639405089"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "folderId": "51",
                "name": "🟢 Google Ads",
                "fingerprint": "1746639437030"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "folderId": "52",
                "name": "🔘 Tiktok",
                "fingerprint": "1746639470633"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "folderId": "53",
                "name": "📜 Variáveis Data Layer",
                "fingerprint": "1746639518697"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "folderId": "54",
                "name": "📱 Events Cardápio",
                "fingerprint": "1746639556307"
            }
        ],
        "builtInVariable": [
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "type": "PAGE_URL",
                "name": "Page URL"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "type": "PAGE_HOSTNAME",
                "name": "Page Hostname"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "type": "PAGE_PATH",
                "name": "Page Path"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "type": "REFERRER",
                "name": "Referrer"
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "type": "EVENT",
                "name": "Event"
            }
        ],
        "fingerprint": "1746715166879",
        "tagManagerUrl": "https://tagmanager.google.com/#/versions/accounts/1605609721/containers/205919598/versions/0?apiLink=version",
        "customTemplate": [
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "templateId": "29",
                "name": "Facebook Pixel",
                "fingerprint": "1746555590398",
                "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  \"categories\": [\n    \"ADVERTISING\",\n    \"ANALYTICS\"\n  ],\n  \"id\": \"cvt_5RM3Q\",\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": "9b5f067bb372c56946c4f85fafa08c3d19e242fe20633c242c36343a930b2177",
                    "galleryTemplateId": "5RM3Q"
                }
            },
            {
                "accountId": "1605609721",
                "containerId": "205919598",
                "templateId": "30",
                "name": "TikTok Pixel",
                "fingerprint": "1746555616265",
                "templateData": "___TERMS_OF_SERVICE___\n\nBy creating or modifying this file you agree to Google Tag Manager's Community\nTemplate Gallery Developer Terms of Service available at\nhttps://developers.google.com/tag-manager/gallery-tos (or such other URL as\nGoogle may provide), as modified from time to time.\n\n\n___INFO___\n\n{\n  \"type\": \"TAG\",\n  \"id\": \"cvt_MRQN8\",\n  \"version\": 1,\n  \"displayName\": \"TikTok Pixel\",\n  \"categories\": [\n    \"ADVERTISING\",\n    \"ANALYTICS\"\n  ],\n  \"brand\": {\n    \"id\": \"github.com_tiktok\",\n    \"displayName\": \"tiktok\",\n    \"thumbnail\": \"data:image/png;base64,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\\u003d\\u003d\"\n  },\n  \"description\": \"Install TikTok Pixel easily to your site without the need to write a line of code.\",\n  \"containerContexts\": [\n    \"WEB\"\n  ]\n}\n\n\n___TEMPLATE_PARAMETERS___\n\n[\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"Section 1 - TikTok Event Configuration\",\n    \"displayName\": \"TikTok Event Configuration\",\n    \"groupStyle\": \"NO_ZIPPY\",\n    \"subParams\": [\n      {\n        \"type\": \"TEXT\",\n        \"name\": \"pixel_code\",\n        \"displayName\": \"Pixel ID\",\n        \"simpleValueType\": true,\n        \"valueValidators\": [],\n        \"help\": \"You can find your Pixel ID in Events Manager\",\n        \"valueHint\": \"CD9079RC77U0N3GBV16Y\"\n      },\n      {\n        \"type\": \"SELECT\",\n        \"name\": \"event\",\n        \"displayName\": \"Event Name\",\n        \"macrosInSelect\": true,\n        \"selectItems\": [\n          {\n            \"value\": \"CompletePayment\",\n            \"displayValue\": \"CompletePayment\"\n          },\n          {\n            \"value\": \"AddToCart\",\n            \"displayValue\": \"AddToCart\"\n          },\n          {\n            \"value\": \"ViewContent\",\n            \"displayValue\": \"ViewContent\"\n          },\n          {\n            \"value\": \"InitiateCheckout\",\n            \"displayValue\": \"InitiateCheckout\"\n          },\n          {\n            \"value\": \"AddToWishlist\",\n            \"displayValue\": \"AddToWishlist\"\n          },\n          {\n            \"value\": \"AddPaymentInfo\",\n            \"displayValue\": \"AddPaymentInfo\"\n          },\n          {\n            \"value\": \"PlaceAnOrder\",\n            \"displayValue\": \"PlaceAnOrder\"\n          },\n          {\n            \"value\": \"Contact\",\n            \"displayValue\": \"Contact\"\n          },\n          {\n            \"value\": \"Download\",\n            \"displayValue\": \"Download\"\n          },\n          {\n            \"value\": \"SubmitForm\",\n            \"displayValue\": \"SubmitForm\"\n          },\n          {\n            \"value\": \"CompleteRegistration\",\n            \"displayValue\": \"CompleteRegistration\"\n          },\n          {\n            \"value\": \"Subscribe\",\n            \"displayValue\": \"Subscribe\"\n          },\n          {\n            \"value\": \"ClickButton\",\n            \"displayValue\": \"ClickButton\"\n          },\n          {\n            \"value\": \"Search\",\n            \"displayValue\": \"Search\"\n          }\n        ],\n        \"simpleValueType\": true,\n        \"help\": \"TikTok supports 14 standard events. You may refer to our \\u003ca href\\u003d\\\"https://ads.tiktok.com/help/article?aid\\u003d10028\\\" target\\u003d\\\"_blank\\\"\\u003edocumentation\\u003c/a\\u003e and choose a suitable event to tag.\",\n        \"defaultValue\": \"{{Event}}\"\n      }\n    ],\n    \"help\": \"\\u003ca href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004006287425\\\" target\\u003d\\\"_blank\\\"\\u003eLearn more\\u003c/a\\u003e about using TikTok Pixel with Google Tag Manager.\"\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"Section 3 - Parameter Override\",\n    \"displayName\": \"Parameter Override\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"subParams\": [\n      {\n        \"type\": \"LABEL\",\n        \"name\": \"Parameter Override Description\",\n        \"displayName\": \"\\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004110681154#item-link-How%20to%20set%20up%20deduplication\\\"\\u003eLearn more\\u003c/a\\u003e about how to manually configure event parameters with \\\"Parameter Override\\\".\"\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"Advanced Matching Configurations\",\n        \"displayName\": \"Advanced Matching Configurations\",\n        \"groupStyle\": \"NO_ZIPPY\",\n        \"subParams\": [\n          {\n            \"type\": \"RADIO\",\n            \"name\": \"hash\",\n            \"displayName\": \"Hashed / Non-Hashed AM Parameters\",\n            \"radioItems\": [\n              {\n                \"value\": \"hashed\",\n                \"displayValue\": \"SHA256 AM Parameters\"\n              },\n              {\n                \"value\": \"non-hashed\",\n                \"displayValue\": \"Plain AM Parameters\",\n                \"help\": \"TikTok Pixel will hash plain email and phone for you\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"help\": \"Tell us if your AM parameters have been hashed.\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"email\",\n            \"displayName\": \"Email\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"non-hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"phone\",\n            \"displayName\": \"Phone\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"non-hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"If the country code is 86, then do not include country code (example: 13800000000). Otherwise, include country code with + and remove any other characters (spaces, \\u0027-\\u0027) between numbers (example for US: +12133734253).\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"external_id\",\n            \"displayName\": \"External ID\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"non-hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Any unique identifier on the advertiser\\u0027s side, such as loyalty membership ID, user ID, or external cookie ID.\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"sha256_email\",\n            \"displayName\": \"SHA256 Hashed Email\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"sha256_phone\",\n            \"displayName\": \"SHA256 Hashed Phone\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"If the country code is 86, then do not include country code (example: 13800000000). Otherwise, include country code with + and remove any other characters (spaces, \\u0027-\\u0027) between numbers (example for US: +12133734253).\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"sha256_external_id\",\n            \"displayName\": \"SHA256 Hashed External ID\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"hash\",\n                \"paramValue\": \"hashed\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Any unique identifier on the advertiser\\u0027s side, such as loyalty membership ID, user ID, or external cookie ID.\"\n          }\n        ],\n        \"help\": \"Advance matching parameters are hashed and then shared with TikTok to help attribute more conversions to your ads and improve ad retargeting. \\u003cbr\\u003e \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004110681154#item-link-User%20data\\\"\\u003eLearn more\\u003c/a\\u003e about how to format Advanced Matching parameters.\"\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"Properties\",\n        \"displayName\": \"Properties (e.g. product data)\",\n        \"groupStyle\": \"NO_ZIPPY\",\n        \"subParams\": [\n          {\n            \"type\": \"CHECKBOX\",\n            \"name\": \"enhance_ecomm\",\n            \"checkboxText\": \"Use Google Analytics E-commerce Data Layers (Recommended)\",\n            \"simpleValueType\": true,\n            \"help\": \"If you have Google\\u0027s \\u003ca href\\u003d\\\"https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type\\u003dgtm#implementation\\\" target\\u003d\\\"_blank\\\"\\u003eEnhanced E-Commerce\\u003c/a\\u003e or \\u003ca href\\u003d\\\"https://support.google.com/tagmanager/answer/6107169?hl\\u003den#standard-ecommerce\\\" target\\u003d\\\"_blank\\\"\\u003e Standard E-Commerce\\u003c/a\\u003e Data Layers set up to collect information about the shopping behavior of your users. TikTok will automatically collect these data as parameters to help you improve your ad performance.\",\n            \"defaultValue\": true\n          },\n          {\n            \"type\": \"RADIO\",\n            \"name\": \"ga_ecomm\",\n            \"displayName\": \"Google Analytics E-commerce Data Layers\",\n            \"radioItems\": [\n              {\n                \"value\": \"ecomm\",\n                \"displayValue\": \"Standard Ecommerce\"\n              },\n              {\n                \"value\": \"enhance_ecomm\",\n                \"displayValue\": \"Enhanced Ecommerce\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"defaultValue\": \"ecomm\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"ecomm_currency\",\n            \"displayName\": \"Currency\",\n            \"simpleValueType\": true,\n            \"valueHint\": \"USD\",\n            \"help\": \"If you haven\\u0027t added the currency to the e-commerce data layer, add the current code here. Note: Adding the code will replace the \\u0027currency code\\u0027 or \\u0027currency\\u0027 field from your data layer.\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": true,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"RADIO\",\n            \"name\": \"single_multi_product\",\n            \"displayName\": \"Manually Input Single / Multiple Products from Data Layer\",\n            \"radioItems\": [\n              {\n                \"value\": \"single\",\n                \"displayValue\": \"Single Content\"\n              },\n              {\n                \"value\": \"multiple\",\n                \"displayValue\": \"Multiple Contents\",\n                \"help\": \"Send a list of contents as a JSON string. \\u003ca href\\u003d\\\"https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON\\\" target\\u003d\\\"_blank\\\"\\u003eLearn more about JSON\\u003c/a\\u003e\"\n              },\n              {\n                \"value\": \"empty\",\n                \"displayValue\": \"No Contents\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"contents\",\n            \"displayName\": \"contents\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"multiple\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Please make sure \\\"contents\\\" is \\u003ca href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004110681154#item-link-contents%20parameters\\\" target\\u003d\\\"_blank\\\"\\u003ea list of valid content objects\\u003c/a\\u003e or encoded as \\u003ca href\\u003d\\\"https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/JSON\\\" target\\u003d\\\"_blank\\\"\\u003ea valid JSON string\\u003c/a\\u003e.\",\n            \"valueHint\": \"[{\\\"content_id\\\": \\\"abc\\\", \\\"price\\\": 10, \\\"quantity\\\": 1}]\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"content_id\",\n            \"displayName\": \"content_id\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Unique ID of the item, either SKU ID or item group ID\"\n          },\n          {\n            \"type\": \"SELECT\",\n            \"name\": \"content_type\",\n            \"displayName\": \"content_type\",\n            \"macrosInSelect\": false,\n            \"selectItems\": [\n              {\n                \"value\": \"product\",\n                \"displayValue\": \"product\"\n              },\n              {\n                \"value\": \"product_group\",\n                \"displayValue\": \"product_group\"\n              }\n            ],\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Select \\\"product\\\" if your content_id is SKU ID, or select \\\"product_group\\\" if your content_id is item group ID\",\n            \"notSetText\": \"\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"content_name\",\n            \"displayName\": \"content_name\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Title of your product or page\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"content_category\",\n            \"displayName\": \"content_category\",\n            \"simpleValueType\": true,\n            \"help\": \"Recommended: Category of the product or page\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"price\",\n            \"displayName\": \"price\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Price of this item\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"quantity\",\n            \"displayName\": \"quantity\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"single_multi_product\",\n                \"paramValue\": \"single\",\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Quantity of this item\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"value\",\n            \"displayName\": \"value\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: Total value of the order\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"currency\",\n            \"displayName\": \"currency\",\n            \"simpleValueType\": true,\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ],\n            \"help\": \"Recommended: ISO 4217 code. Examples: \\\"EUR\\\", \\\"USD\\\", \\\"JPY\\\". See \\u003ca href\\u003d\\\"https://ads.tiktok.com/help/article/about-parameters?lang\\u003den\\\" target\\u003d\\\"_blank\\\"\\u003ehere\\u003c/a\\u003e for a list of currencies supported.\"\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"description\",\n            \"displayName\": \"description\",\n            \"simpleValueType\": true,\n            \"help\": \"Recommended: Description of the product or page\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"brand\",\n            \"displayName\": \"brand\",\n            \"simpleValueType\": true,\n            \"help\": \"Recommended: Brand name of the product\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"query\",\n            \"displayName\": \"query\",\n            \"simpleValueType\": true,\n            \"help\": \"Recommended for Search events: The text string that was searched for. For instance, a person searches for a product on your website, you can forward the keyword being searched here.\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          },\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"status\",\n            \"displayName\": \"status\",\n            \"simpleValueType\": true,\n            \"help\": \"Optional: Status of an order, item, or service.\",\n            \"enablingConditions\": [\n              {\n                \"paramName\": \"enhance_ecomm\",\n                \"paramValue\": false,\n                \"type\": \"EQUALS\"\n              }\n            ]\n          }\n        ],\n        \"help\": \"Configure and send \\u003ca href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004110681154#item-link-Product%20data\\\" target\\u003d\\\"_blank\\\"\\u003eadditional parameters\\u003c/a\\u003e to TikTok for to improve Ad performance and unlock Ad features.\"\n      },\n      {\n        \"type\": \"GROUP\",\n        \"name\": \"De-duplication Configurations\",\n        \"displayName\": \"De-duplication Configurations\",\n        \"groupStyle\": \"NO_ZIPPY\",\n        \"subParams\": [\n          {\n            \"type\": \"TEXT\",\n            \"name\": \"event_id\",\n            \"displayName\": \"Event ID\",\n            \"simpleValueType\": true\n          }\n        ],\n        \"help\": \"If you use both TikTok Pixel template and Events API template to send events, you can set up Event ID to deduplicate the two sources. \\u003ca target\\u003d\\\"_blank\\\" href\\u003d\\\"https://business-api.tiktok.com/portal/docs?id\\u003d1799004097478658#item-link-How%20to%20set%20up%20deduplication\\\"\\u003eLearn more\\u003c/a\\u003e about how to set up deduplication.\"\n      }\n    ]\n  },\n  {\n    \"type\": \"GROUP\",\n    \"name\": \"Section 2 - Additional Properties\",\n    \"displayName\": \"Additional Properties\",\n    \"groupStyle\": \"ZIPPY_CLOSED\",\n    \"subParams\": [\n      {\n        \"type\": \"LABEL\",\n        \"name\": \"Description\",\n        \"displayName\": \"You may configure and send more custom parameters to TikTok to unlock additional Ad features targeted at specific verticals (i.e. Travel)\"\n      },\n      {\n        \"type\": \"PARAM_TABLE\",\n        \"name\": \"custom_properties\",\n        \"displayName\": \"\",\n        \"paramTableColumns\": [\n          {\n            \"param\": {\n              \"type\": \"TEXT\",\n              \"name\": \"key\",\n              \"displayName\": \"Key\",\n              \"simpleValueType\": true,\n              \"canBeEmptyString\": false\n            },\n            \"isUnique\": true\n          },\n          {\n            \"param\": {\n              \"type\": \"TEXT\",\n              \"name\": \"value\",\n              \"displayName\": \"Value\",\n              \"simpleValueType\": true\n            },\n            \"isUnique\": false\n          }\n        ]\n      }\n    ]\n  }\n]\n\n\n___SANDBOXED_JS_FOR_WEB_TEMPLATE___\n\n/*\n * Copyright 2022 ByteDance Inc.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst version = \"0_2_01\";\n\nconst log = require(\"logToConsole\");\nconst copyFromWindow = require(\"copyFromWindow\");\nconst copyFromDataLayer = require(\"copyFromDataLayer\");\nconst makeNumber = require(\"makeNumber\");\nconst callInWindow = require(\"callInWindow\");\nconst Object = require(\"Object\");\nconst JSON = require(\"JSON\");\n\nconst ecommerce = copyFromDataLayer(\"ecommerce\");\nconst eventModel = copyFromDataLayer(\"eventModel\");\nconst userDataFromDataLayer = copyFromDataLayer(\"user_data\");\nconst ttContents = copyFromDataLayer('tt_contents') || (eventModel && eventModel.tt_contents);\nconst ttContentType = copyFromDataLayer('tt_content_type') || (eventModel && eventModel.tt_content_type);\nconst ttExternalId = copyFromDataLayer('tt_external_id') || (eventModel && eventModel.tt_external_id);\n\nconst ValidEvents = {\n  ViewContent: 1,\n  ClickButton: 1,\n  Search: 1,\n  AddToWishlist: 1,\n  AddToCart: 1,\n  InitiateCheckout: 1,\n  AddPaymentInfo: 1,\n  CompletePayment: 1,\n  PlaceAnOrder: 1,\n  Contact: 1,\n  Download: 1,\n  SubmitForm: 1,\n  CompleteRegistration: 1,\n  Subscribe: 1,\n};\n\nconst TTEventMap = {\n  'add_payment_info': 'AddPaymentInfo',\n  'add_to_cart': 'AddToCart',\n  'add_to_wishlist': 'AddToWishlist',\n  'begin_checkout': 'InitiateCheckout',\n  'page_view': 'Pageview',\n  'purchase': 'CompletePayment',\n  'search': 'Search',\n  'sign_up': 'CompleteRegistration',\n  'view_item': 'ViewContent',\n};\n\nconst checkExistence = (key) => {\n  return typeof copyFromWindow(key) !== \"undefined\";\n};\n\nconst looksLikeSHA256 = (s) => {\n  return s && s.length == 64;\n};\n\nconst getConfigHash = (data) => {\n  // What API is used. 0: None, 1: Tag Manager, 2: Google Tag, 3: Both\n  var apiVersion = 0;\n  if (ecommerce || userDataFromDataLayer) apiVersion += 1;\n  if (eventModel && (eventModel.items || eventModel.value || eventModel.currency || eventModel.user_data)) apiVersion += 2;\n\n  var contents = 0;\n  if (data.enhance_ecomm == false && data.single_multi_product == \"empty\") contents = 1;\n  else if (data.enhance_ecomm == false && data.single_multi_product == \"single\") contents = 2;\n  else if (data.enhance_ecomm == false && data.single_multi_product == \"multiple\") contents = 3;\n  else if (data.enhance_ecomm == true && data.ga_ecomm == \"enhance_ecomm\") contents = 4;\n  else if (data.enhance_ecomm == true && data.ga_ecomm == \"ecomm\") contents = 5;\n\n  return '' + apiVersion + contents;\n};\n\nconst getEnhancedEcommerceData = (data, ecommerce) => {\n  if (!ecommerce) {\n    return null;\n  }\n\n  if (data.event == \"ViewContent\" && ecommerce.detail && ecommerce.detail.products) {\n    return ecommerce.detail.products;\n  } else if (data.event == \"AddToCart\" && ecommerce.add && ecommerce.add.products) {\n    return ecommerce.add.products;\n  } else if ((data.event == \"InitiateCheckout\" || data.event == \"AddPaymentInfo\") && ecommerce.checkout && ecommerce.checkout.products) {\n    return ecommerce.checkout.products;\n  } else if ((data.event == \"CompletePayment\" || data.event == \"PlaceAnOrder\" || data.event == \"Subscribe\") && ecommerce.purchase && ecommerce.purchase.products) {\n    return ecommerce.purchase.products;\n  } else {\n    if (ecommerce.detail && ecommerce.detail.products)\n      return ecommerce.detail.products;\n    if (ecommerce.add && ecommerce.add.products)\n      return ecommerce.add.products;\n    if (ecommerce.checkout && ecommerce.checkout.products)\n      return ecommerce.checkout.products;\n    if (ecommerce.purchase && ecommerce.purchase.products)\n      return ecommerce.purchase.products;\n  }\n  return null;\n};\n\nconst getItemCategories = (item) => {\n  var categories = [];\n  if (item.item_category) categories.push(item.item_category);\n  if (item.item_category2) categories.push(item.item_category2);\n  if (item.item_category3) categories.push(item.item_category3);\n  if (item.item_category4) categories.push(item.item_category4);\n  if (item.item_category5) categories.push(item.item_category5);\n\n  if (categories.length > 0) {\n    return categories.join(',');\n  }\n\n  return null;\n};\n\nconst getEcommerceData = (data, ecommerce) => {\n  var value = 0;\n  var currency = \"USD\"; // default value\n  var contents = [];\n\n  /* \n    Standard Ecommerce Support. For more details on Ecommerce Data Structure\n    https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtm\n    We will need to check for standard ecommerce events if Enhanced Ecommerce doesnt work\n  */\n  const secData = (ecommerce && ecommerce.items) || (eventModel && eventModel.items) || ttContents;\n  if (secData) {\n    log(\"1a. Standard Ecommerce - Data layers detected\");\n    secData.map(function (ed) {\n      // Form the TikTok Parameter Object\n      var content = {};\n      if (ed.item_id) content.content_id = ed.item_id;\n      if (!ed.item_id && ed.id) content.content_id = ed.id;\n      if (ed.item_name) content.content_name = ed.item_name;\n      if (ed.item_brand) content.brand = ed.item_brand;\n      var categoryString = getItemCategories(ed);\n      if (categoryString) content.content_category = categoryString;\n      if (ed.price) content.price = makeNumber(ed.price);\n      if (ed.quantity) {\n        content.quantity = makeNumber(ed.quantity);\n      } else {\n        content.quantity = 1;\n      }\n      content.content_type = ttContentType || \"product\";\n      contents.push(content);\n      // Calulate the total value shown\n      if (ed.price) {\n        if (!ed.quantity) ed.quantity = 1;\n        value += ed.price * ed.quantity;\n      }\n    });\n  } else if (data.ga_ecomm == \"ecomm\") {\n    log(\"1a. Standard Ecommerce - Unable to detect any Data Layers\");\n  }\n\n  /* \n    Enhanced Ecommerce Support. Fore more details on Enhanced Ecommerce Data Structure\n    https://developers.google.com/analytics/devguides/collection/ua/gtm/enhanced-ecommerce#details\n    ViewContent = detail\n    AddToCart = add\n    InitiateCheckout, AddPaymentInfo = checkout\n    CompletePayment, PlaceAnOrder, Subscribe = purchase\n  */\n  const eecData = getEnhancedEcommerceData(data, ecommerce);\n  if (eecData !== null && contents.length == 0) {\n    log(\"1b. Enhanced Ecommerce - Data layers detected\");\n    eecData.map(function (ed) {\n      // Form the TikTok Parameter Object\n      var content = {};\n      if (ed.id) content.content_id = ed.id;\n      if (ed.name) content.content_name = ed.name;\n      if (ed.brand) content.brand = ed.brand;\n      if (ed.category) content.content_category = ed.category;\n      if (ed.price) content.price = makeNumber(ed.price);\n      if (ed.quantity) {\n        content.quantity = makeNumber(ed.quantity);\n      } else {\n        content.quantity = 1;\n      }\n      content.content_type = ttContentType || \"product\";\n      contents.push(content);\n      // Calulate the total value shown\n      if (ed.price) {\n        if (!ed.quantity) ed.quantity = 1;\n        value += ed.price * ed.quantity;\n      }\n    });\n  } else if (data.ga_ecomm == \"enhance_ecomm\") {\n    log(\"1b. Enhanced Ecommerce - Unable to detect any ecommerce data layers\");\n  }\n\n  if (data.ecomm_currency)\n    currency = data.ecomm_currency;\n  else if (ecommerce && ecommerce.currencyCode)\n    currency = ecommerce.currencyCode;\n  else if (ecommerce && ecommerce.currency)\n    currency = ecommerce.currency;\n  else if (eventModel && eventModel.currency)\n    currency = eventModel.currency;\n\n  if (ecommerce && ecommerce.value) {\n    value = ecommerce.value;\n  } else if (\n    ecommerce &&\n    ecommerce.purchase &&\n    ecommerce.purchase.actionField &&\n    ecommerce.purchase.actionField.revenue\n  ) {\n    value = ecommerce.purchase.actionField.revenue;\n  } else if (eventModel && eventModel.value) {\n    value = eventModel.value;\n  }\n\n  return {\n    value: value,\n    currency: currency,\n    contents: contents\n  };\n};\n\nconst isHashed = (val) => {\n  return val && val.match(\"^[A-Fa-f0-9]{64}$\") != null;\n};\n\nconst getUserDataFromDataLayer = () => {\n  var userData = {};\n  const email = (userDataFromDataLayer && (userDataFromDataLayer.email_address || userDataFromDataLayer.sha256_email_address)) ||\n    (eventModel && eventModel.user_data && (eventModel.user_data.email_address || eventModel.user_data.sha256_email_address));\n  if (email) {\n    if (isHashed(email)) {\n      userData.sha256_email = email;\n    } else {\n      userData.email = email;\n    }\n  }\n\n  const phone = (userDataFromDataLayer && (userDataFromDataLayer.phone_number || userDataFromDataLayer.sha256_phone_number)) ||\n    (eventModel && eventModel.user_data && (eventModel.user_data.phone_number || eventModel.user_data.sha256_phone_number));\n  if (phone) {\n    if (isHashed(phone)) {\n      userData.sha256_phone_number = phone;\n    } else {\n      userData.phone_number = phone;\n    }\n  }\n\n  if (ttExternalId) {\n    userData.external_id = ttExternalId;\n  }\n\n  return userData;\n};\n\nconst main = () => {\n  // Forming the passed in parameters\n  var parameters = {\n    gtm_version: version + ':' + getConfigHash(data),\n    event_trigger_source: 'GoogleTagManagerClient',\n  };\n  const ttEvent = TTEventMap[data.event] || data.event;\n\n  // Check if enhance ecomm is enabled.\n  if (data.enhance_ecomm == true) {\n    const ecomData = getEcommerceData(data, ecommerce);\n    parameters.currency = ecomData.currency;\n    parameters.value = ecomData.value;\n    if (ecomData.contents && ecomData.contents.length > 0) {\n      parameters.contents = ecomData.contents;\n    }\n  } else {\n    if (data.single_multi_product == \"single\") {\n      // Single Content\n      if (data.content_id) parameters.content_id = data.content_id;\n      if (data.content_type || ttContentType) parameters.content_type = data.content_type || ttContentType;\n      if (data.content_name) parameters.content_name = data.content_name;\n      if (data.price) parameters.price = makeNumber(data.price);\n      if (data.quantity) parameters.quantity = makeNumber(data.quantity);\n      if (data.currency) parameters.currency = data.currency;\n      if (data.value) {\n        parameters.value = makeNumber(data.value);\n      } else {\n        if (data.price && data.quantity) {\n          parameters.value = makeNumber(data.price) * makeNumber(data.quantity);\n        }\n      }\n      if (data.content_category)\n        parameters.content_category = data.content_category;\n      if (data.description) parameters.description = data.description;\n      if (data.query) parameters.query = data.query;\n      if (data.status) parameters.status = data.status;\n    } else if (data.single_multi_product == \"multiple\") {\n      // Multiple Content\n      if (data.contents) {\n        const parsedContents = JSON.parse(data.contents);\n        if (parsedContents !== undefined) {\n          parameters.contents = parsedContents;\n        } else {\n          parameters.contents = data.contents;\n        }\n      }\n      if (data.currency) parameters.currency = data.currency;\n      if (data.value) parameters.value = makeNumber(data.value);\n      if (data.description) parameters.description = data.description;\n      if (data.query) parameters.query = data.query;\n      if (data.status) parameters.status = data.status;\n    } else if (data.single_multi_product == \"empty\") {\n      // No Content\n      if (data.currency) parameters.currency = data.currency;\n      if (data.value) parameters.value = makeNumber(data.value);\n      if (data.description) parameters.description = data.description;\n      if (data.query) parameters.query = data.query;\n      if (data.status) parameters.status = data.status;\n    }\n  }\n\n  // Additional Object Properties\n  if (data.custom_properties && data.custom_properties.length > 0) {\n    for (let i = 0; i < data.custom_properties.length; i++) {\n      let objectParam = data.custom_properties[i];\n      if (objectParam.key) {\n        parameters[objectParam.key] = objectParam.value;\n      }\n    }\n  }\n\n  // Advanced Matching and sending TT events\n  var userData = getUserDataFromDataLayer();\n\n  if (data.hash == \"hashed\") {\n    // Send hashed data\n    if (data.sha256_email) userData.sha256_email = data.sha256_email;\n    if (data.sha256_phone)\n      userData.sha256_phone_number = data.sha256_phone;\n    // Note: The key is still \"external_id\"\n    if (data.sha256_external_id)\n      userData.external_id = data.sha256_external_id;\n    log(\"2a. Advanced matching with hashed PII\");\n  } else if (data.hash == \"non-hashed\") {\n    // Send non-hashed data and TikTok Pixel will hash it for you.\n    if (data.email) userData.email = data.email;\n    if (data.phone) userData.phone_number = data.phone;\n    if (data.external_id) userData.external_id = data.external_id;\n    log(\n      \"2b. Advanced matching without hashed data, TikTok Pixel will hash the data for you.\"\n    );\n  }\n\n  if (Object.keys(userData).length > 0) {\n    callInWindow(\"ttq.identify\", userData);\n  }\n\n  log(\n    \"3. Base code found, sending \",\n    ttEvent,\n    \"event with\",\n    parameters,\n    data.event_id\n  );\n\n  if (data.pixel_code) {\n    callInWindow(\"ttq.track\", ttEvent, parameters, {\n      event_id: data.event_id,\n      pixel_code: data.pixel_code\n    });\n  } else {\n    callInWindow(\"ttq.track\", ttEvent, parameters, {\n      event_id: data.event_id\n    });\n  }\n};\n\nconst validate = (data) => {\n  const errors = [];\n  const warnings = [];\n\n  // errors\n  if (!checkExistence(\"ttq\")) {\n    errors.push(\"ttq not found\");\n  }\n\n  // clean up\n  if (data.external_id) {\n    data.external_id = data.external_id.trim();\n  }\n\n  // warnings\n  // 1. Prevent user from passing in SHA256 hash as \"email\" or \"phone\" to avoid double-hashing.\n  // 2. Prevent user from passing in non-hash as \"sha256_email\" or \"sha256_phone\".\n  if (data.email) {\n    if (data.email.indexOf(\"@\") === -1)\n      warnings.push(\"data.email is not an email\");\n    if (looksLikeSHA256(data.email))\n      warnings.push(\"data.email appears to be a SHA256 hash\");\n  }\n  if (data.phone) {\n    if (looksLikeSHA256(data.phone))\n      warnings.push(\"data.phone appears to be a SHA256 hash\");\n  }\n  if (data.sha256_email) {\n    if (!looksLikeSHA256(data.sha256_email))\n      warnings.push(\"data.sha256_email is not a SHA256 hash\");\n  }\n  if (data.sha256_phone) {\n    if (!looksLikeSHA256(data.sha256_phone))\n      warnings.push(\"data.sha256_phone is not a SHA256 hash\");\n  }\n\n  if (TTEventMap[data.event] == undefined && ValidEvents[data.event] === undefined) {\n    warnings.push('data.event \"' + data.event + '\" is not a valid event');\n  }\n\n  for (const msg of warnings) {\n    log(\"[WARN] \" + msg);\n  }\n  for (const msg of errors) {\n    log(\"[ERROR] \" + msg);\n  }\n  return errors;\n};\n\nconst start = () => {\n  const errors = validate(data);\n  if (errors.length > 0) {\n    data.gtmOnFailure();\n    return;\n  }\n\n  main();\n\n  data.gtmOnSuccess();\n};\n\nstart();\n\n\n___WEB_PERMISSIONS___\n\n[\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"logging\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"environments\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"debug\"\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"access_globals\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"keys\",\n          \"value\": {\n            \"type\": 2,\n            \"listItem\": [\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"ttq\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"ttq.identify\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  }\n                ]\n              },\n              {\n                \"type\": 3,\n                \"mapKey\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"key\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"read\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"write\"\n                  },\n                  {\n                    \"type\": 1,\n                    \"string\": \"execute\"\n                  }\n                ],\n                \"mapValue\": [\n                  {\n                    \"type\": 1,\n                    \"string\": \"ttq.track\"\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": false\n                  },\n                  {\n                    \"type\": 8,\n                    \"boolean\": true\n                  }\n                ]\n              }\n            ]\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  },\n  {\n    \"instance\": {\n      \"key\": {\n        \"publicId\": \"read_data_layer\",\n        \"versionId\": \"1\"\n      },\n      \"param\": [\n        {\n          \"key\": \"allowedKeys\",\n          \"value\": {\n            \"type\": 1,\n            \"string\": \"any\"\n          }\n        }\n      ]\n    },\n    \"clientAnnotations\": {\n      \"isEditedByUser\": true\n    },\n    \"isRequired\": true\n  }\n]\n\n\n___TESTS___\n\nscenarios:\n- name: Basic\n  code: \"const mockData = {\\n  event: 'view_item',\\n  pixel_code: 'my_pixel_code',\\n\\\n    \\  \\n  advance_matching: true,\\n  hash: \\\"non-hashed\\\",\\n  external_id: '   abc\\\n    \\   ',\\n  \\n  single_multi_product: 'single',\\n  content_type: 'product',\\n  content_id:\\\n    \\ 'abc123',\\n};\\nrunCode(mockData);\\n\\nassertThat(Calls['ttq.identify'].length).isStrictlyEqualTo(1);\\n\\\n    assertThat(Calls['ttq.identify'][0].params).isEqualTo({\\n  \\\"external_id\\\": \\\"\\\n    abc\\\"\\n});\\n\\nassertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\\nassertThat(Calls['ttq.track'][0].params.gtm_version).isEqualTo(\\\"\\\n    0_2_01:00\\\");\\nassertThat(Calls['ttq.track'][0].params.content_type).isEqualTo(\\\"\\\n    product\\\");\\nassertThat(Calls['ttq.track'][0].params.content_id).isEqualTo(\\\"\\\n    abc123\\\");\\nassertThat(Calls['ttq.track'][0].params.event_trigger_source).isEqualTo(\\\"\\\n    GoogleTagManagerClient\\\");\\nassertThat(Calls['ttq.track'][0].pixel.pixel_code).isEqualTo(\\\"\\\n    my_pixel_code\\\");\\nassertThat(Calls['ttq.track'][0].eventName).isEqualTo(\\\"ViewContent\\\"\\\n    );\\n\\nassertApi('gtmOnSuccess').wasCalled();\"\n- name: MissingPixelCode\n  code: |-\n    const mockData = {\n      event: 'ViewContent',\n    };\n    runCode(mockData);\n\n    assertThat(LogsError.length).isStrictlyEqualTo(0);\n    assertThat(Calls['ttq.track'][0].pixel.pixel_code).isEqualTo(undefined);\n- name: InvalidPII\n  code: \"const mockData = {\\n  event: 'CompletePayment',\\n  pixel_code: 'my_pixel_code',\\n\\\n    \\  \\n  email: 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    \\  phone: 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    \\  sha256_email: 'a@a.com',\\n  sha256_phone: '+11231231234',\\n};\\nrunCode(mockData);\\n\\\n    \\n// Check hashed PII not passed into plain PII fields\\nassertThat(LogsWarn).contains(\\\"\\\n    [WARN] data.email is not an email\\\");\\nassertThat(LogsWarn).contains(\\\"[WARN]\\\n    \\ data.email appears to be a SHA256 hash\\\");\\nassertThat(LogsWarn).contains(\\\"\\\n    [WARN] data.phone appears to be a SHA256 hash\\\");\\n\\n// Check plain PII not passed\\\n    \\ into hashed PII fields\\nassertThat(LogsWarn).contains(\\\"[WARN] data.sha256_email\\\n    \\ is not a SHA256 hash\\\");\\nassertThat(LogsWarn).contains(\\\"[WARN] data.sha256_phone\\\n    \\ is not a SHA256 hash\\\");\\n\\n\"\n- name: InvalidEvent\n  code: |\n    const mockData = {\n      event: 'InvalidEvent',\n      pixel_code: 'my_pixel_code',\n    };\n    runCode(mockData);\n\n    // Check we warn about invalid event name\n    assertThat(LogsWarn).contains('[WARN] data.event \"InvalidEvent\" is not a valid event');\n- name: ValidPIIHashed\n  code: \"const mockData = {\\n  event: 'CompletePayment',\\n  pixel_code: 'my_pixel_code',\\n\\\n    \\  \\n  hash: 'hashed',\\n  sha256_email: 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    \\  sha256_phone: 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    };\\nrunCode(mockData);\\n\\nassertThat(Calls['ttq.identify'].length).isStrictlyEqualTo(1);\\n\\\n    assertThat(Calls['ttq.identify'][0].params).isEqualTo({\\n  \\\"sha256_email\\\": 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad',\\n\\\n    \\  \\\"sha256_phone_number\\\": 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad'\\n\\\n    });\\n\"\n- name: ValidPIIPlain\n  code: \"const mockData = {\\n  event: 'CompletePayment',\\n  pixel_code: 'my_pixel_code',\\n\\\n    \\  \\n  hash: 'non-hashed',\\n  email: 'a@a.com',\\n  phone: '+11231231234',\\n};\\n\\\n    runCode(mockData);\\n\\nassertThat(Calls['ttq.identify'].length).isStrictlyEqualTo(1);\\n\\\n    assertThat(Calls['ttq.identify'][0].params).isEqualTo({\\n  \\\"email\\\": 'a@a.com',\\n\\\n    \\  \\\"phone_number\\\": '+11231231234'\\n});\\n\\n\"\n- name: MultipleProducts\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      pixel_code: 'my_pixel_code',\n      single_multi_product: 'multiple',\n      contents: '[{\"content_id\": \"abc123\", \"price\": 1.23}]',\n    };\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_id).isEqualTo(\"abc123\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].price).isEqualTo(1.23);\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: MultipleProductsInvalidContentsJSON\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      event_id: '1234',\n      pixel_code: 'my_pixel_code',\n      single_multi_product: 'multiple',\n      contents: '[{\"content_id\": \"abc123\", \"price\": 1.23}]]]]]',\n    };\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    // Parsing failure should just forward the event to Pixel.\n    assertThat(Calls['ttq.track'][0].params.contents).isEqualTo('[{\"content_id\": \"abc123\", \"price\": 1.23}]]]]]');\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: SingleProduct\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      pixel_code: 'my_pixel_code',\n      single_multi_product: 'single',\n      content_id: 'abc123',\n      content_type: 'product',\n      content_name: 'tee shirt',\n      price: '12.34',\n      quantity: '2',\n      currency: 'USD',\n      value: '24.68',\n      custom_properties: [\n        {\n          key: 'custom_property_1',\n          value: 1,\n        },\n        {\n          key: 'custom_property_2',\n          value: '2',\n        },\n        {\n          key: '',\n          value: '3',\n        },\n      ],\n    };\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.content_id).isEqualTo(\"abc123\");\n    assertThat(Calls['ttq.track'][0].params.content_type).isEqualTo(\"product\");\n    assertThat(Calls['ttq.track'][0].params.content_name).isEqualTo(\"tee shirt\");\n    assertThat(Calls['ttq.track'][0].params.price).isEqualTo(12.34);\n    assertThat(Calls['ttq.track'][0].params.quantity).isEqualTo(2);\n    assertThat(Calls['ttq.track'][0].params.currency).isEqualTo(\"USD\");\n    assertThat(Calls['ttq.track'][0].params.value).isEqualTo(24.68);\n    assertThat(Calls['ttq.track'][0].params.custom_property_1).isEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.custom_property_2).isEqualTo('2');\n    assertThat(Calls['ttq.track'][0].params['']).isUndefined();\n\n    // Verify that the tag finished successfully.\n    assertApi('gtmOnSuccess').wasCalled();\n- name: StandardEcommerce\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      pixel_code: 'my_pixel_code',\n      enhance_ecomm: true,\n      ecommerce: {\n        currency: 'CAD',\n        value: 7.77,\n        items: [\n          {\n              item_id: 'abc123',\n              item_name: 'tee shirt',\n              item_brand: 'mybrand',\n              item_category: \"Apparel\",\n              item_category2: \"Adult\",\n              item_category4: \"Crew\",\n              price: 9.99,\n              discount: 2.22,\n              quantity: 1\n          }\n        ]\n      }\n    };\n\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents.length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_id).isEqualTo(\"abc123\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_type).isEqualTo(\"product\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_name).isEqualTo(\"tee shirt\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_category).isEqualTo(\"Apparel,Adult,Crew\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].brand).isEqualTo(\"mybrand\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].price).isEqualTo(9.99);\n    assertThat(Calls['ttq.track'][0].params.contents[0].quantity).isEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.currency).isEqualTo(\"CAD\");\n    assertThat(Calls['ttq.track'][0].params.value).isEqualTo(7.77);\n\n    assertApi('gtmOnSuccess').wasCalled();\n- name: EnhancedEcommerce\n  code: |-\n    const mockData = {\n      event: 'CompletePayment',\n      pixel_code: 'my_pixel_code',\n      enhance_ecomm: true,\n      ecomm_currency: 'CNY',\n      ecommerce: {\n        detail: {\n          products: [{\n            name: 'tee shirt',\n            id: 'abc123',\n            price: '9.99',\n            brand: 'mybrand',\n            category: 'apparel',\n            variant: 'blue'\n           }]\n         }\n      }\n    };\n\n    runCode(mockData);\n\n    assertThat(Calls['ttq.track'].length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents.length).isStrictlyEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_id).isEqualTo(\"abc123\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_type).isEqualTo(\"product\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_name).isEqualTo(\"tee shirt\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].content_category).isEqualTo(\"apparel\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].brand).isEqualTo(\"mybrand\");\n    assertThat(Calls['ttq.track'][0].params.contents[0].price).isEqualTo(9.99);\n    assertThat(Calls['ttq.track'][0].params.contents[0].quantity).isEqualTo(1);\n    assertThat(Calls['ttq.track'][0].params.currency).isEqualTo(\"CNY\");\n    assertThat(Calls['ttq.track'][0].params.value).isEqualTo(9.99);\n\n    assertApi('gtmOnSuccess').wasCalled();\nsetup: \"const log = require('logToConsole');\\n\\nconst LogsError = [];\\nconst LogsWarn\\\n  \\ = []; \\nconst Calls = {};\\n\\nmock('logToConsole', function() {\\n  if (arguments.length\\\n  \\ > 0 && arguments[0].substring(0, 7) == '[ERROR]') {\\n    LogsError.push(arguments[0]);\\n\\\n  \\  }\\n  if (arguments.length > 0 && arguments[0].substring(0, 6) == '[WARN]') {\\n\\\n  \\    LogsWarn.push(arguments[0]);\\n  }\\n  // Print out logs, as normally as possible\\n\\\n  \\  log(arguments); // Note: bind and call not available\\n});\\n\\nmock('callInWindow',\\\n  \\ function() {\\n  const fnName = arguments[0];\\n  Calls[fnName] = Calls[fnName]\\\n  \\ || [];\\n  const call = {};\\n  call.arguments = arguments;\\n  Calls[fnName].push(call);\\n\\\n  \\  \\n  if (fnName === 'ttq.identify') {\\n    call.params = arguments[1];\\n  } else\\\n  \\ if (fnName === 'ttq.track') {\\n    call.eventName = arguments[1];\\n    call.params\\\n  \\ = arguments[2];\\n    call.pixel = arguments[3];\\n  }\\n});\\n\\nmock('copyFromWindow',\\\n  \\ function(name) {\\n  // Assume base code always exists.\\n  return {};\\n});\\n\\n\\\n  mock('copyFromDataLayer', function(name) {\\n  if (name == \\\"ecommerce\\\") {\\n   \\\n  \\ return mockData.ecommerce;\\n  }\\n  \\n  return undefined;\\n});\"\n\n\n___NOTES___\n\nCreated on 19/08/2022, 17:04:57\n\n\n",
                "galleryReference": {
                    "host": "github.com",
                    "owner": "tiktok",
                    "repository": "gtm-template-pixel",
                    "version": "cfe618d563a596ca92bc2fe1002332ea8a752064",
                    "signature": "dc266f7c7b567a4d00dd3ea4d9742c409816d2be678413fac7d9a4977c55aae1",
                    "galleryTemplateId": "MRQN8"
                }
            }
        ]
    }
}