{
    "exportFormatVersion": 2,
    "exportTime": "2020-08-10 18:52:41",
    "containerVersion": {
        "path": "accounts/263956808/containers/6850555/versions/0",
        "accountId": "263956808",
        "containerId": "6850555",
        "containerVersionId": "0",
        "container": {
            "path": "accounts/263956808/containers/6850555",
            "accountId": "263956808",
            "containerId": "6850555",
            "name": "Duplicate Transaction Blocker",
            "publicId": "GTM-P9K324N",
            "usageContext": [
                "WEB"
            ],
            "fingerprint": "1494004367127",
            "tagManagerUrl": "https://tagmanager.google.com/#/container/accounts/263956808/containers/6850555/workspaces?apiLink=container"
        },
        "trigger": [
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "triggerId": "6",
                "name": "Blocking - Transaction Already Fired",
                "type": "CUSTOM_EVENT",
                "customEventFilter": [
                    {
                        "type": "MATCH_REGEX",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{_event}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": ".*"
                            }
                        ]
                    }
                ],
                "filter": [
                    {
                        "type": "EQUALS",
                        "parameter": [
                            {
                                "type": "TEMPLATE",
                                "key": "arg0",
                                "value": "{{JS - Transaction Was Never Fired Before}}"
                            },
                            {
                                "type": "TEMPLATE",
                                "key": "arg1",
                                "value": "false"
                            }
                        ]
                    }
                ],
                "fingerprint": "1494004367123",
                "parentFolderId": "5"
            }
        ],
        "variable": [
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "variableId": "1",
                "name": "Const - GA Transaction IDs Cookie Name",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "_ga_transaction_ids"
                    }
                ],
                "fingerprint": "1494004367120",
                "parentFolderId": "5"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "variableId": "2",
                "name": "JS - GA Transaction IDs Cookie Getter",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "/**\n * Returns a function for fetching the current value of the transaction ID cookie\n */\nfunction() {\n\n  return function() {\n    \n    var cookieStr = '; ' + document.cookie;\n    var cookieName = {{Const - GA Transaction IDs Cookie Name}};\n  \n  \tif (cookieStr.indexOf(cookieName) === -1) return void(0);\n  \n    return decodeURIComponent(cookieStr.split(cookieName + '=')[1].split(';')[0]);\n    \n  };\n  \n}"
                    }
                ],
                "fingerprint": "1494004367120",
                "parentFolderId": "5"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "variableId": "3",
                "name": "Const - Transaction ID Separator",
                "type": "c",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "value",
                        "value": "|"
                    }
                ],
                "fingerprint": "1494004367121",
                "parentFolderId": "5"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "variableId": "4",
                "name": "JS - Stored Transaction IDs",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "/**\n * Returns a prefix-separated string of Transaction IDs from storage\n */\nfunction() {\n  \n  return function() {\n \n    var cookieVal = {{JS - GA Transaction IDs Cookie Getter}}();\n    var prefix = {{Const - Transaction ID Separator}};\n    var decoded = [];\n    var ids;\n    var i;\n \n    if (!cookieVal) return [];\n\n    ids = cookieVal.split(prefix);\n\n    for (i = 0; i < ids.length; i++) {\n      \n      decoded.push(decodeURIComponent(ids[i])); \n      \n    }\n    \n    return decoded;\n\n  };\n\n}"
                    }
                ],
                "fingerprint": "1494004367121",
                "parentFolderId": "5"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "variableId": "5",
                "name": "DLV - transactionId",
                "type": "v",
                "parameter": [
                    {
                        "type": "INTEGER",
                        "key": "dataLayerVersion",
                        "value": "2"
                    },
                    {
                        "type": "BOOLEAN",
                        "key": "setDefaultValue",
                        "value": "false"
                    },
                    {
                        "type": "TEMPLATE",
                        "key": "name",
                        "value": "transactionId"
                    }
                ],
                "fingerprint": "1597085525199",
                "parentFolderId": "5",
                "formatValue": {}
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "variableId": "6",
                "name": "JS - checkIfTransactionStored Function",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "/**\n * Returns function that checks if the current transaction ID is stored in the GA Transaction\n * ID Storage cookie. \n *\n * If the Transaction ID is present, returns boolean true, otherwise returns boolean false\n */\nfunction() {\n  \n  var getStoredIds = {{JS - Stored Transaction IDs}};\n  \n  return function() {\n   \n    var prefix = {{Const - Transaction ID Separator}};\n    var transactionId = {{DLV - transactionId}};\n    var storedTransIdsStr = prefix + getStoredIds().join(prefix) + prefix;\n    var storedFootprint = ['', transactionId, ''].join(prefix);\n\n    if (transactionId) return storedTransIdsStr.indexOf(storedFootprint) > -1;\n    \n    return false;\n\n  };\n  \n}"
                    }
                ],
                "fingerprint": "1494004367122",
                "parentFolderId": "5"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "variableId": "7",
                "name": "JS - Transaction Was Never Fired Before",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "/**\n * Calls checkIfTransactionStored and returns the inverse of the result\n */\nfunction() {\n \n  return !{{JS - checkIfTransactionStored Function}}();\n  \n}"
                    }
                ],
                "fingerprint": "1494004367123",
                "parentFolderId": "5"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "variableId": "8",
                "name": "JS - Ecommerce Hit hitCallback",
                "type": "jsm",
                "parameter": [
                    {
                        "type": "TEMPLATE",
                        "key": "javascript",
                        "value": "/**\n * This should be set as the Field to Set \"hitCallback\" on your Ecommerce\n * Transaction hit. Once the hit has completed sending its data, the\n * function this returns will be called by Google Analytics. The function\n * stores the latest Transaction ID in the GA Transaction IDs cookie.\n *\n * IMPORTANT: Make sure to set the Blocking Trigger \"Transaction Already Fired\"\n * on the same tag.\n */\nfunction () {\n\n  return function() {\n\n    // Cookies  transaction IDs to prevent duplicate transaction hits\n    var storedTransactionIds = {{JS - Stored Transaction IDs}}();\n    var transactionId = {{DLV - transactionId}};\n    var isTransactionStored = {{JS - checkIfTransactionStored Function}}();\n    var cookieName = {{Const - GA Transaction IDs Cookie Name}};\n    var prefix = {{Const - Transaction ID Separator}};\n    var encoded = [];\n    var cookieVal;\n    var i;\n\n    if (!isTransactionStored) {\n      \n      storedTransactionIds.push(transactionId);\n      \n      for (i = 0; i < storedTransactionIds.length; i++) {\n       \n        encoded.push(encodeURIComponent(storedTransactionIds[i]));\n        \n      }\n      \n      cookieVal = encodeURIComponent(encoded.join(prefix));\n\n      // Defaults to a 2-year expiration\n      document.cookie = cookieName + '=' + cookieVal + \n        '; Expires=' + new Date(+new Date() + 63072000000).toGMTString() +\n        '; Domain=' + {{Page Hostname}} +\n        '; Path=/;';\n    \n    }\n    \n  };\n\n}"
                    }
                ],
                "fingerprint": "1494004367124",
                "parentFolderId": "5"
            }
        ],
        "folder": [
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "folderId": "5",
                "name": "Bounteous Duplicate Transaction Blocker Plugin",
                "fingerprint": "1597065554471"
            }
        ],
        "builtInVariable": [
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "type": "PAGE_URL",
                "name": "Page URL"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "type": "PAGE_HOSTNAME",
                "name": "Page Hostname"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "type": "PAGE_PATH",
                "name": "Page Path"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "type": "REFERRER",
                "name": "Referrer"
            },
            {
                "accountId": "263956808",
                "containerId": "6850555",
                "type": "EVENT",
                "name": "Event"
            }
        ],
        "fingerprint": "1597085561603",
        "tagManagerUrl": "https://tagmanager.google.com/#/versions/accounts/263956808/containers/6850555/versions/0?apiLink=version"
    }
}