changedOutput schema / (root)
Previous value: -nullNew value: +{
+ "additionalProperties": false,
+ "properties": {
+ "cause": {
+ "description": "Why that step failed, in plain words.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "checked_from": {
+ "description": "Start of the recent period whose events the check reads.",
+ "format": "date-time",
+ "type": "string"
+ },
+ "docs": {
+ "description": "Help articles for this result: `title` (string) and `url` (string, uri).",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "url"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "domain": {
+ "description": "Website domain.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "duplicate_tracking": {
+ "description": "Ad platform pixels added to the site outside PixelFlow, seen on this page load: `ad_platform` (string, such as facebook) and `evidence` (string, the script URL seen). Each one double counts events, because PixelFlow already sends both the browser pixel and the Conversions API for that ad platform.",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "ad_platform": {
+ "type": "string"
+ },
+ "evidence": {
+ "type": "string"
+ }
+ },
+ "required": [
+ "ad_platform",
+ "evidence"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "failed_step": {
+ "description": "First step that failed. script_missing: the PixelFlow script is not on the page. script_error: the script loaded but failed to run. pixel_missing: no ad platform pixel is connected. token_unusable: the ad platform rejected the pixel's access token. consent_blocked: events were blocked because visitors did not give consent. no_event_received: the script is on the page but no event has been received yet. null on success, or when the page could not be loaded and no recent events exist.",
+ "enum": [
+ "script_missing",
+ "script_error",
+ "pixel_missing",
+ "token_unusable",
+ "consent_blocked",
+ "no_event_received",
+ null
+ ],
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "fix": {
+ "description": "What to change to pass that step.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "has_conversion_event": {
+ "description": "Whether an event other than PageView arrived since checked_from.",
+ "type": "boolean"
+ },
+ "is_successful": {
+ "description": "Whether tracking works end to end: an event from the site was received and accepted since checked_from.",
+ "type": "boolean"
+ },
+ "next_action": {
+ "additionalProperties": false,
+ "description": "The one open setup step. null once setup and every Get Started item that applies to this site are complete.",
+ "properties": {
+ "action": {
+ "description": "Step to do now.",
+ "enum": [
+ "ask_platform",
+ "wordpress_connect",
+ "ask_domain",
+ "ask_currency",
+ "connect_ad_platform",
+ "install",
+ "verify",
+ "triggers",
+ "get_started"
+ ],
+ "type": "string"
+ },
+ "ad_platform": {
+ "description": "Ad platform to connect, for connect_ad_platform. Set only when a saved pixel cannot send yet; absent when the user still has to pick an ad platform.",
+ "type": "string"
+ },
+ "install": {
+ "additionalProperties": false,
+ "description": "For install: the steps and snippet for this site, the same as get_install_instructions returns for task install. When it is set, there is no tool.",
+ "properties": {
+ "docs": {
+ "description": "Help articles for this result: `title` (string) and `url` (string, uri).",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "title": {
+ "type": "string"
+ },
+ "url": {
+ "format": "uri",
+ "type": "string"
+ }
+ },
+ "required": [
+ "title",
+ "url"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "native_pixel_search": {
+ "description": "Phase activate only: text to search the site's code for to find an ad platform pixel already on the site. null otherwise.",
+ "items": {
+ "type": "string"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "rules_to_follow": {
+ "description": "How to show the snippet to the user; follow them when you present it. null when the result has no snippet.",
+ "items": {
+ "type": "string"
+ },
+ "type": [
+ "array",
+ "null"
+ ]
+ },
+ "snippet": {
+ "description": "HTML snippet with this site's public site id and key, to paste into the site. null on platforms with a PixelFlow plugin.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "steps": {
+ "description": "Numbered steps for this task on this platform.",
+ "type": [
+ "string",
+ "null"
+ ]
+ }
+ },
+ "required": [
+ "steps",
+ "snippet",
+ "rules_to_follow",
+ "native_pixel_search",
+ "docs"
+ ],
+ "type": "object"
+ },
+ "phase": {
+ "description": "Plugin install phase, for install.",
+ "enum": [
+ "connect",
+ "activate"
+ ],
+ "type": "string"
+ },
+ "progress": {
+ "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
+ "type": "string"
+ },
+ "say": {
+ "description": "Suggested wording for the user. Words for the user only; the tool for this step is in next_action.tool.",
+ "type": "string"
+ },
+ "step": {
+ "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
+ "type": "integer"
+ },
+ "steps": {
+ "description": "Every setup step: `step` (integer), `label` (string), `state` (enum: done, current, later).",
+ "items": {
+ "additionalProperties": false,
+ "properties": {
+ "label": {
+ "type": "string"
+ },
+ "state": {
+ "enum": [
+ "done",
+ "current",
+ "later"
+ ],
+ "type": "string"
+ },
+ "step": {
+ "type": "integer"
+ }
+ },
+ "required": [
+ "step",
+ "label",
+ "state"
+ ],
+ "type": "object"
+ },
+ "type": "array"
+ },
+ "target": {
+ "description": "get_connect_link target, for connect_ad_platform.",
+ "enum": [
+ "ad_platform"
+ ],
+ "type": "string"
+ },
+ "task": {
+ "description": "get_install_instructions task, for install.",
+ "enum": [
+ "install"
+ ],
+ "type": "string"
+ },
+ "tool": {
+ "description": "Tool that performs this step. Absent when the step needs no tool or when install is attached.",
+ "type": "string"
+ },
+ "total": {
+ "description": "Position in setup, such as Step 4 of 7. total depends on the site: plugin platforms add a step, and sites that set up conversions add another.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "action",
+ "say",
+ "step",
+ "total",
+ "progress",
+ "steps"
+ ],
+ "type": [
+ "object",
+ "null"
+ ]
+ },
+ "page_check": {
+ "additionalProperties": false,
+ "description": "Whether the headless browser could load and inspect the page. When status is not passed, the result relies only on events received since checked_from; with none, is_successful is false and failed_step is null.",
+ "properties": {
+ "cause": {
+ "description": "Why the page could not be loaded. null when status is passed.",
+ "type": [
+ "string",
+ "null"
+ ]
+ },
+ "status": {
+ "description": "passed: the page loaded and was inspected. blocked: the site stopped the browser (bot challenge, password, geo restriction, or a consent banner it could not get past). inconclusive: the page did not finish loading.",
+ "enum": [
+ "passed",
+ "blocked",
+ "inconclusive"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "status",
+ "cause"
+ ],
+ "type": "object"
+ },
+ "setup_completed": {
+ "description": "Whether site setup is now marked complete.",
+ "type": "boolean"
+ },
+ "site_id": {
+ "description": "Site id.",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "site_id",
+ "domain",
+ "is_successful",
+ "checked_from",
+ "failed_step",
+ "cause",
+ "fix",
+ "page_check",
+ "duplicate_tracking",
+ "setup_completed",
+ "has_conversion_event",
+ "docs",
+ "next_action"
+ ],
+ "type": "object"
+}