Skip to content
Start here

Get Zaraz configuration

client.zaraz.config.get(ConfigGetParams { zone_id } params, RequestOptionsoptions?): Configuration { dataLayer, debugKey, settings, 7 more }
GET/zones/{zone_id}/settings/zaraz/config

Gets latest Zaraz configuration for a zone. It can be preview or published configuration, whichever was the last updated. Secret variables values will not be included.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Zaraz EditZaraz ReadZaraz Admin
ParametersExpand Collapse
params: ConfigGetParams { zone_id }
zone_id: string

Identifier.

maxLength32
ReturnsExpand Collapse
Configuration { dataLayer, debugKey, settings, 7 more }

Zaraz configuration.

dataLayer: boolean

Data layer compatibility mode enabled.

debugKey: string

The key for Zaraz debug mode.

settings: Settings { autoInjectScript, contextEnricher, cookieDomain, 11 more }

General Zaraz settings.

autoInjectScript: boolean

Automatic injection of Zaraz scripts enabled.

contextEnricher?: ContextEnricher { escapedWorkerName, workerTag }

Details of the worker that receives and edits Zaraz Context object.

escapedWorkerName: string
workerTag: string
cookieDomain?: string

The domain Zaraz will use for writing and reading its cookies.

ecommerce?: boolean

Ecommerce API enabled.

eventsApiPath?: string

Custom endpoint for server-side track events.

hideExternalReferer?: boolean

Hiding external referrer URL enabled.

hideIPAddress?: boolean

Trimming IP address enabled.

hideQueryParams?: boolean

Removing URL query params enabled.

hideUserAgent?: boolean

Removing sensitive data from User Agent string enabled.

initPath?: string

Custom endpoint for Zaraz init script.

injectIframes?: boolean

Injection of Zaraz scripts into iframes enabled.

mcRootPath?: string

Custom path for Managed Components server functionalities.

scriptPath?: string

Custom endpoint for Zaraz main script.

trackPath?: string

Custom endpoint for Zaraz tracking requests.

tools: Record<string, ZarazManagedComponent { blockingTriggers, component, defaultFields, 10 more } | Worker { blockingTriggers, component, defaultFields, 11 more } >

Tools set up under Zaraz configuration, where key is the alpha-numeric tool ID and value is the tool configuration object.

One of the following:
ZarazManagedComponent { blockingTriggers, component, defaultFields, 10 more }
blockingTriggers: Array<string>

List of blocking trigger IDs.

component: string

Tool's internal name.

defaultFields: Record<string, string | boolean>

Default fields for tool's actions.

One of the following:
string
boolean
enabled: boolean

Whether tool is enabled.

name: string

Tool's name defined by the user.

permissions: Array<string>

List of permissions granted to the component.

settings: Record<string, string | boolean>

Tool's settings.

One of the following:
string
boolean
type: "component"
actions?: Record<string, NeoEvent { actionType, blockingTriggers, data, firingTriggers } >

Actions configured on a tool. Either this or neoEvents field is required.

actionType: string

Tool event type.

blockingTriggers: Array<string>

List of blocking triggers IDs.

data: unknown

Event payload.

firingTriggers: Array<string>

List of firing triggers IDs.

defaultPurpose?: string

Default consent purpose ID.

neoEvents?: Array<NeoEvent { actionType, blockingTriggers, data, firingTriggers } >

DEPRECATED - List of actions configured on a tool. Either this or actions field is required. If both are present, actions field will take precedence.

actionType: string

Tool event type.

blockingTriggers: Array<string>

List of blocking triggers IDs.

data: unknown

Event payload.

firingTriggers: Array<string>

List of firing triggers IDs.

vendorName?: string

Vendor name for TCF compliant consent modal, required for Custom Managed Components and Custom HTML tool with a defaultPurpose assigned.

vendorPolicyUrl?: string

Vendor's Privacy Policy URL for TCF compliant consent modal, required for Custom Managed Components and Custom HTML tool with a defaultPurpose assigned.

Worker { blockingTriggers, component, defaultFields, 11 more }
blockingTriggers: Array<string>

List of blocking trigger IDs.

component: string

Tool's internal name.

defaultFields: Record<string, string | boolean>

Default fields for tool's actions.

One of the following:
string
boolean
enabled: boolean

Whether tool is enabled.

name: string

Tool's name defined by the user.

permissions: Array<string>

List of permissions granted to the component.

settings: Record<string, string | boolean>

Tool's settings.

One of the following:
string
boolean
type: "custom-mc"
worker: Worker { escapedWorkerName, workerTag }

Cloudflare worker that acts as a managed component.

escapedWorkerName: string
workerTag: string
actions?: Record<string, NeoEvent { actionType, blockingTriggers, data, firingTriggers } >

Actions configured on a tool. Either this or neoEvents field is required.

actionType: string

Tool event type.

blockingTriggers: Array<string>

List of blocking triggers IDs.

data: unknown

Event payload.

firingTriggers: Array<string>

List of firing triggers IDs.

defaultPurpose?: string

Default consent purpose ID.

neoEvents?: Array<NeoEvent { actionType, blockingTriggers, data, firingTriggers } >

DEPRECATED - List of actions configured on a tool. Either this or actions field is required. If both are present, actions field will take precedence.

actionType: string

Tool event type.

blockingTriggers: Array<string>

List of blocking triggers IDs.

data: unknown

Event payload.

firingTriggers: Array<string>

List of firing triggers IDs.

vendorName?: string

Vendor name for TCF compliant consent modal, required for Custom Managed Components and Custom HTML tool with a defaultPurpose assigned.

vendorPolicyUrl?: string

Vendor's Privacy Policy URL for TCF compliant consent modal, required for Custom Managed Components and Custom HTML tool with a defaultPurpose assigned.

triggers: Record<string, Triggers>

Triggers set up under Zaraz configuration, where key is the trigger alpha-numeric ID and value is the trigger configuration.

excludeRules: Array<ZarazLoadRule { id, match, op, value } | ZarazClickListenerRule { id, action, settings } | ZarazTimerRule { id, action, settings } | 4 more>

Rules defining when the trigger is not fired.

One of the following:
ZarazLoadRule { id, match, op, value }
id: string
match: string
op: "CONTAINS" | "EQUALS" | "STARTS_WITH" | 7 more
One of the following:
"CONTAINS"
"EQUALS"
"STARTS_WITH"
"ENDS_WITH"
"MATCH_REGEX"
"NOT_MATCH_REGEX"
"GREATER_THAN"
"GREATER_THAN_OR_EQUAL"
"LESS_THAN"
"LESS_THAN_OR_EQUAL"
value: string
ZarazClickListenerRule { id, action, settings }
id: string
action: "clickListener"
settings: Settings { selector, type, waitForTags }
selector: string
type: "xpath" | "css"
One of the following:
"xpath"
"css"
waitForTags: number
minimum0
ZarazTimerRule { id, action, settings }
id: string
action: "timer"
settings: Settings { interval, limit }
interval: number
minimum50
limit: number
minimum0
ZarazFormSubmissionRule { id, action, settings }
id: string
action: "formSubmission"
settings: Settings { selector, validate }
selector: string
validate: boolean
ZarazVariableMatchRule { id, action, settings }
id: string
action: "variableMatch"
settings: Settings { match, variable }
match: string
variable: string
ZarazScrollDepthRule { id, action, settings }
id: string
action: "scrollDepth"
settings: Settings { positions }
positions: string
ZarazElementVisibilityRule { id, action, settings }
id: string
action: "elementVisibility"
settings: Settings { selector }
selector: string
loadRules: Array<ZarazLoadRule { id, match, op, value } | ZarazClickListenerRule { id, action, settings } | ZarazTimerRule { id, action, settings } | 4 more>

Rules defining when the trigger is fired.

One of the following:
ZarazLoadRule { id, match, op, value }
id: string
match: string
op: "CONTAINS" | "EQUALS" | "STARTS_WITH" | 7 more
One of the following:
"CONTAINS"
"EQUALS"
"STARTS_WITH"
"ENDS_WITH"
"MATCH_REGEX"
"NOT_MATCH_REGEX"
"GREATER_THAN"
"GREATER_THAN_OR_EQUAL"
"LESS_THAN"
"LESS_THAN_OR_EQUAL"
value: string
ZarazClickListenerRule { id, action, settings }
id: string
action: "clickListener"
settings: Settings { selector, type, waitForTags }
selector: string
type: "xpath" | "css"
One of the following:
"xpath"
"css"
waitForTags: number
minimum0
ZarazTimerRule { id, action, settings }
id: string
action: "timer"
settings: Settings { interval, limit }
interval: number
minimum50
limit: number
minimum0
ZarazFormSubmissionRule { id, action, settings }
id: string
action: "formSubmission"
settings: Settings { selector, validate }
selector: string
validate: boolean
ZarazVariableMatchRule { id, action, settings }
id: string
action: "variableMatch"
settings: Settings { match, variable }
match: string
variable: string
ZarazScrollDepthRule { id, action, settings }
id: string
action: "scrollDepth"
settings: Settings { positions }
positions: string
ZarazElementVisibilityRule { id, action, settings }
id: string
action: "elementVisibility"
settings: Settings { selector }
selector: string
name: string

Trigger name.

description?: string

Trigger description.

system?: "pageload"
variables: Record<string, ZarazStringVariable { name, type, value } | ZarazSecretVariable { name, type, value } | ZarazWorkerVariable { name, type, value } >

Variables set up under Zaraz configuration, where key is the variable alpha-numeric ID and value is the variable configuration. Values of variables of type secret are not included.

One of the following:
ZarazStringVariable { name, type, value }
name: string
type: "string"
value: string
ZarazSecretVariable { name, type, value }
name: string
type: "secret"
value: string
ZarazWorkerVariable { name, type, value }
name: string
type: "worker"
value: Value { escapedWorkerName, workerTag }
escapedWorkerName: string
workerTag: string
zarazVersion: number

Zaraz internal version of the config.

analytics?: Analytics { defaultPurpose, enabled, sessionExpTime }

Cloudflare Monitoring settings.

defaultPurpose?: string

Consent purpose assigned to Monitoring.

enabled?: boolean

Whether Advanced Monitoring reports are enabled.

sessionExpTime?: number

Session expiration time (seconds).

maximum86400
minimum60
historyChange?: boolean

Single Page Application support enabled.

Get Zaraz configuration

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const configuration = await client.zaraz.config.get({
  zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
});

console.log(configuration.dataLayer);
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "dataLayer": true,
    "debugKey": "debugKey",
    "settings": {
      "autoInjectScript": true,
      "contextEnricher": {
        "escapedWorkerName": "escapedWorkerName",
        "workerTag": "workerTag"
      },
      "cookieDomain": "cookieDomain",
      "ecommerce": true,
      "eventsApiPath": "eventsApiPath",
      "hideExternalReferer": true,
      "hideIPAddress": true,
      "hideQueryParams": true,
      "hideUserAgent": true,
      "initPath": "initPath",
      "injectIframes": true,
      "mcRootPath": "mcRootPath",
      "scriptPath": "scriptPath",
      "trackPath": "trackPath"
    },
    "tools": {
      "foo": {
        "blockingTriggers": [
          "string"
        ],
        "component": "component",
        "defaultFields": {
          "foo": "string"
        },
        "enabled": true,
        "name": "name",
        "permissions": [
          "string"
        ],
        "settings": {
          "foo": "string"
        },
        "type": "component",
        "actions": {
          "foo": {
            "actionType": "actionType",
            "blockingTriggers": [
              "string"
            ],
            "data": {},
            "firingTriggers": [
              "string"
            ]
          }
        },
        "defaultPurpose": "defaultPurpose",
        "neoEvents": [
          {
            "actionType": "actionType",
            "blockingTriggers": [
              "string"
            ],
            "data": {},
            "firingTriggers": [
              "string"
            ]
          }
        ],
        "vendorName": "vendorName",
        "vendorPolicyUrl": "vendorPolicyUrl"
      }
    },
    "triggers": {
      "foo": {
        "excludeRules": [
          {
            "id": "id",
            "match": "match",
            "op": "CONTAINS",
            "value": "value"
          }
        ],
        "loadRules": [
          {
            "id": "id",
            "match": "match",
            "op": "CONTAINS",
            "value": "value"
          }
        ],
        "name": "name",
        "description": "description",
        "system": "pageload"
      }
    },
    "variables": {
      "foo": {
        "name": "name",
        "type": "string",
        "value": "value"
      }
    },
    "zarazVersion": 0,
    "analytics": {
      "defaultPurpose": "defaultPurpose",
      "enabled": true,
      "sessionExpTime": 60
    },
    "consent": {
      "enabled": true,
      "buttonTextTranslations": {
        "accept_all": {
          "foo": "string"
        },
        "confirm_my_choices": {
          "foo": "string"
        },
        "reject_all": {
          "foo": "string"
        }
      },
      "companyEmail": "companyEmail",
      "companyName": "companyName",
      "companyStreetAddress": "companyStreetAddress",
      "consentModalIntroHTML": "consentModalIntroHTML",
      "consentModalIntroHTMLWithTranslations": {
        "foo": "string"
      },
      "cookieName": "cookieName",
      "customCSS": "customCSS",
      "customIntroDisclaimerDismissed": true,
      "defaultLanguage": "defaultLanguage",
      "hideModal": true,
      "purposes": {
        "foo": {
          "description": "description",
          "name": "name"
        }
      },
      "purposesWithTranslations": {
        "foo": {
          "description": {
            "foo": "string"
          },
          "name": {
            "foo": "string"
          },
          "order": 0
        }
      },
      "tcfCompliant": true
    },
    "historyChange": true
  },
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "result": {
    "dataLayer": true,
    "debugKey": "debugKey",
    "settings": {
      "autoInjectScript": true,
      "contextEnricher": {
        "escapedWorkerName": "escapedWorkerName",
        "workerTag": "workerTag"
      },
      "cookieDomain": "cookieDomain",
      "ecommerce": true,
      "eventsApiPath": "eventsApiPath",
      "hideExternalReferer": true,
      "hideIPAddress": true,
      "hideQueryParams": true,
      "hideUserAgent": true,
      "initPath": "initPath",
      "injectIframes": true,
      "mcRootPath": "mcRootPath",
      "scriptPath": "scriptPath",
      "trackPath": "trackPath"
    },
    "tools": {
      "foo": {
        "blockingTriggers": [
          "string"
        ],
        "component": "component",
        "defaultFields": {
          "foo": "string"
        },
        "enabled": true,
        "name": "name",
        "permissions": [
          "string"
        ],
        "settings": {
          "foo": "string"
        },
        "type": "component",
        "actions": {
          "foo": {
            "actionType": "actionType",
            "blockingTriggers": [
              "string"
            ],
            "data": {},
            "firingTriggers": [
              "string"
            ]
          }
        },
        "defaultPurpose": "defaultPurpose",
        "neoEvents": [
          {
            "actionType": "actionType",
            "blockingTriggers": [
              "string"
            ],
            "data": {},
            "firingTriggers": [
              "string"
            ]
          }
        ],
        "vendorName": "vendorName",
        "vendorPolicyUrl": "vendorPolicyUrl"
      }
    },
    "triggers": {
      "foo": {
        "excludeRules": [
          {
            "id": "id",
            "match": "match",
            "op": "CONTAINS",
            "value": "value"
          }
        ],
        "loadRules": [
          {
            "id": "id",
            "match": "match",
            "op": "CONTAINS",
            "value": "value"
          }
        ],
        "name": "name",
        "description": "description",
        "system": "pageload"
      }
    },
    "variables": {
      "foo": {
        "name": "name",
        "type": "string",
        "value": "value"
      }
    },
    "zarazVersion": 0,
    "analytics": {
      "defaultPurpose": "defaultPurpose",
      "enabled": true,
      "sessionExpTime": 60
    },
    "consent": {
      "enabled": true,
      "buttonTextTranslations": {
        "accept_all": {
          "foo": "string"
        },
        "confirm_my_choices": {
          "foo": "string"
        },
        "reject_all": {
          "foo": "string"
        }
      },
      "companyEmail": "companyEmail",
      "companyName": "companyName",
      "companyStreetAddress": "companyStreetAddress",
      "consentModalIntroHTML": "consentModalIntroHTML",
      "consentModalIntroHTMLWithTranslations": {
        "foo": "string"
      },
      "cookieName": "cookieName",
      "customCSS": "customCSS",
      "customIntroDisclaimerDismissed": true,
      "defaultLanguage": "defaultLanguage",
      "hideModal": true,
      "purposes": {
        "foo": {
          "description": "description",
          "name": "name"
        }
      },
      "purposesWithTranslations": {
        "foo": {
          "description": {
            "foo": "string"
          },
          "name": {
            "foo": "string"
          },
          "order": 0
        }
      },
      "tcfCompliant": true
    },
    "historyChange": true
  },
  "success": true
}