Skip to content
Start here

Zaraz

Update Zaraz workflow
PUT/zones/{zone_id}/settings/zaraz/workflow
ModelsExpand Collapse
ButtonTextTranslation { accept_all, confirm_my_choices, reject_all }
accept_all: map[string]

Object where keys are language codes.

confirm_my_choices: map[string]

Object where keys are language codes.

reject_all: map[string]

Object where keys are language codes.

NeoEvent { actionType, blockingTriggers, data, firingTriggers }
actionType: string

Tool event type.

blockingTriggers: array of string

List of blocking triggers IDs.

data: unknown

Event payload.

firingTriggers: array of string

List of firing triggers IDs.

ZarazConfig

Get Zaraz configuration
GET/zones/{zone_id}/settings/zaraz/config
Update Zaraz configuration
PUT/zones/{zone_id}/settings/zaraz/config
ModelsExpand 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: { autoInjectScript, contextEnricher, cookieDomain, 11 more }

General Zaraz settings.

autoInjectScript: boolean

Automatic injection of Zaraz scripts enabled.

contextEnricher: optional { escapedWorkerName, workerTag }

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

escapedWorkerName: string
workerTag: string
cookieDomain: optional string

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

ecommerce: optional boolean

Ecommerce API enabled.

eventsApiPath: optional string

Custom endpoint for server-side track events.

hideExternalReferer: optional boolean

Hiding external referrer URL enabled.

hideIPAddress: optional boolean

Trimming IP address enabled.

hideQueryParams: optional boolean

Removing URL query params enabled.

hideUserAgent: optional boolean

Removing sensitive data from User Agent string enabled.

initPath: optional string

Custom endpoint for Zaraz init script.

injectIframes: optional boolean

Injection of Zaraz scripts into iframes enabled.

mcRootPath: optional string

Custom path for Managed Components server functionalities.

scriptPath: optional string

Custom endpoint for Zaraz main script.

trackPath: optional string

Custom endpoint for Zaraz tracking requests.

tools: map[ { blockingTriggers, component, defaultFields, 10 more } or { 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 of string

List of blocking trigger IDs.

component: string

Tool’s internal name.

defaultFields: map[string or 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 of string

List of permissions granted to the component.

settings: map[string or boolean]

Tool’s settings.

One of the following:
string
boolean
type: "component"
actions: optional map[NeoEvent { actionType, blockingTriggers, data, firingTriggers } ]

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

actionType: string

Tool event type.

blockingTriggers: array of string

List of blocking triggers IDs.

data: unknown

Event payload.

firingTriggers: array of string

List of firing triggers IDs.

defaultPurpose: optional string

Default consent purpose ID.

neoEvents: optional array of 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 of string

List of blocking triggers IDs.

data: unknown

Event payload.

firingTriggers: array of string

List of firing triggers IDs.

vendorName: optional string

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

vendorPolicyUrl: optional 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 of string

List of blocking trigger IDs.

component: string

Tool’s internal name.

defaultFields: map[string or 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 of string

List of permissions granted to the component.

settings: map[string or boolean]

Tool’s settings.

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

Cloudflare worker that acts as a managed component.

escapedWorkerName: string
workerTag: string
actions: optional map[NeoEvent { actionType, blockingTriggers, data, firingTriggers } ]

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

actionType: string

Tool event type.

blockingTriggers: array of string

List of blocking triggers IDs.

data: unknown

Event payload.

firingTriggers: array of string

List of firing triggers IDs.

defaultPurpose: optional string

Default consent purpose ID.

neoEvents: optional array of 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 of string

List of blocking triggers IDs.

data: unknown

Event payload.

firingTriggers: array of string

List of firing triggers IDs.

vendorName: optional string

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

vendorPolicyUrl: optional 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: map[ { excludeRules, loadRules, name, 2 more } ]

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

excludeRules: array of { id, match, op, value } or { id, action, settings } or { id, action, settings } or 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" or "EQUALS" or "STARTS_WITH" or 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: { selector, type, waitForTags }
selector: string
type: "xpath" or "css"
One of the following:
"xpath"
"css"
waitForTags: number
minimum0
ZarazTimerRule { id, action, settings }
id: string
action: "timer"
settings: { interval, limit }
interval: number
minimum50
limit: number
minimum0
ZarazFormSubmissionRule { id, action, settings }
id: string
action: "formSubmission"
settings: { selector, validate }
selector: string
validate: boolean
ZarazVariableMatchRule { id, action, settings }
id: string
action: "variableMatch"
settings: { match, variable }
match: string
variable: string
ZarazScrollDepthRule { id, action, settings }
id: string
action: "scrollDepth"
settings: { positions }
positions: string
ZarazElementVisibilityRule { id, action, settings }
id: string
action: "elementVisibility"
settings: { selector }
selector: string
loadRules: array of { id, match, op, value } or { id, action, settings } or { id, action, settings } or 4 more

Rules defining when the trigger is fired.

One of the following:
ZarazLoadRule { id, match, op, value }
id: string
match: string
op: "CONTAINS" or "EQUALS" or "STARTS_WITH" or 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: { selector, type, waitForTags }
selector: string
type: "xpath" or "css"
One of the following:
"xpath"
"css"
waitForTags: number
minimum0
ZarazTimerRule { id, action, settings }
id: string
action: "timer"
settings: { interval, limit }
interval: number
minimum50
limit: number
minimum0
ZarazFormSubmissionRule { id, action, settings }
id: string
action: "formSubmission"
settings: { selector, validate }
selector: string
validate: boolean
ZarazVariableMatchRule { id, action, settings }
id: string
action: "variableMatch"
settings: { match, variable }
match: string
variable: string
ZarazScrollDepthRule { id, action, settings }
id: string
action: "scrollDepth"
settings: { positions }
positions: string
ZarazElementVisibilityRule { id, action, settings }
id: string
action: "elementVisibility"
settings: { selector }
selector: string
name: string

Trigger name.

description: optional string

Trigger description.

system: optional "pageload"
variables: map[ { name, type, value } or { name, type, value } or { 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:
String { name, type, value }
name: string
type: "string"
value: string
Secret { name, type, value }
name: string
type: "secret"
value: string
Worker { name, type, value }
name: string
type: "worker"
value: { escapedWorkerName, workerTag }
escapedWorkerName: string
workerTag: string
zarazVersion: number

Zaraz internal version of the config.

analytics: optional { defaultPurpose, enabled, sessionExpTime }

Cloudflare Monitoring settings.

defaultPurpose: optional string

Consent purpose assigned to Monitoring.

enabled: optional boolean

Whether Advanced Monitoring reports are enabled.

sessionExpTime: optional number

Session expiration time (seconds).

maximum86400
minimum60
historyChange: optional boolean

Single Page Application support enabled.

ZarazDefault

Get default Zaraz configuration
GET/zones/{zone_id}/settings/zaraz/default

ZarazExport

Export Zaraz configuration
GET/zones/{zone_id}/settings/zaraz/export

ZarazHistory

List Zaraz historical configuration records
GET/zones/{zone_id}/settings/zaraz/history
Restore Zaraz historical configuration by ID
PUT/zones/{zone_id}/settings/zaraz/history
ModelsExpand Collapse
HistoryListResponse { id, createdAt, description, 2 more }
id: number

ID of the configuration.

createdAt: string

Date and time the configuration was created.

formatdate-time
description: string

Configuration description provided by the user who published this configuration.

updatedAt: string

Date and time the configuration was last updated.

formatdate-time
userId: string

Alpha-numeric ID of the account user who published the configuration.

ZarazHistoryConfigs

Get Zaraz historical configurations by ID(s)
GET/zones/{zone_id}/settings/zaraz/history/configs
ModelsExpand Collapse
ConfigGetResponse = map[ { id, config, createdAt, 2 more } ]

Object where keys are numeric configuration IDs.

id: number

ID of the configuration.

config: Configuration { dataLayer, debugKey, settings, 7 more }

Zaraz configuration.

createdAt: string

Date and time the configuration was created.

formatdate-time
updatedAt: string

Date and time the configuration was last updated.

formatdate-time
userId: string

Alpha-numeric ID of the account user who published the configuration.

ZarazPublish

Publish Zaraz preview configuration
POST/zones/{zone_id}/settings/zaraz/publish
ModelsExpand Collapse
PublishCreateResponse = string

ZarazWorkflow

Get Zaraz workflow
GET/zones/{zone_id}/settings/zaraz/workflow
ModelsExpand Collapse
Workflow = "realtime" or "preview"

Zaraz workflow.

One of the following:
"realtime"
"preview"