addedInput schema / properties / data_extraction / properties
Added value: +{
+ "commerce": {
+ "additionalProperties": false,
+ "description": "Where the script reads product data on the page: one product on a product page, every product in a cart or checkout. `fields` is required.",
+ "properties": {
+ "fields": {
+ "additionalProperties": false,
+ "properties": {
+ "price": {
+ "additionalProperties": false,
+ "description": "Where the script reads the unit price, inside the product container.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ },
+ "productId": {
+ "additionalProperties": false,
+ "description": "Where the script reads the product id, inside the product container.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ },
+ "productName": {
+ "additionalProperties": false,
+ "description": "Where the script reads the product name, inside the product container.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ },
+ "quantity": {
+ "additionalProperties": false,
+ "description": "Where the script reads the quantity, inside the product container.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "productContainerSelector": {
+ "description": "The element that wraps one product, with its id, name, price, and quantity inside. On a product page it wraps the add-to-cart button; in a cart it repeats once per product.",
+ "type": "string"
+ },
+ "productsListContainerSelector": {
+ "description": "The element that wraps all product containers, such as a cart or an order summary; each product inside it is read.",
+ "type": "string"
+ },
+ "totalPriceSelector": {
+ "additionalProperties": false,
+ "description": "Where the script reads the order total on the page.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ }
+ },
+ "required": [
+ "fields"
+ ],
+ "type": "object"
+ },
+ "customer": {
+ "additionalProperties": false,
+ "description": "Where the script reads the visitor's data on the page: inside the submitted `<form>` first (or `form.formContainerSelector` for a click), then anywhere on the page.",
+ "properties": {
+ "email": {
+ "additionalProperties": false,
+ "description": "Where the script reads the visitor's email on the page.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ },
+ "firstName": {
+ "additionalProperties": false,
+ "description": "Where the script reads the visitor's first name on the page.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ },
+ "fullName": {
+ "additionalProperties": false,
+ "description": "Where the script reads the visitor's full name on the page, when the form has one name input. Split on whitespace into first and last name.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ },
+ "lastName": {
+ "additionalProperties": false,
+ "description": "Where the script reads the visitor's last name on the page.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ },
+ "phone": {
+ "additionalProperties": false,
+ "description": "Where the script reads the visitor's phone on the page.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "form": {
+ "additionalProperties": false,
+ "description": "Where the script reads the event value on the page, and the container of a form built without a `<form>` element.",
+ "properties": {
+ "formContainerSelector": {
+ "description": "Applicable for click triggers only, recommended when customer fields or valueSelector are read: the element that wraps both the inputs and the clicked button. Customer fields and valueSelector are read inside it. When it does not wrap the clicked element, the first match on the page is used. Not needed for commerce fields.",
+ "type": "string"
+ },
+ "valueSelector": {
+ "additionalProperties": false,
+ "description": "Where the script reads the event value on the page, such as a chosen plan's price. Omit when `value` is fixed.",
+ "properties": {
+ "attributeName": {
+ "description": "Attribute to read when `extractFrom` is `attribute`.",
+ "type": "string"
+ },
+ "extractFrom": {
+ "description": "`value` for inputs, selects, and textareas (the default for them); `text` for visible text (the default otherwise); `attribute` with `attributeName`.",
+ "enum": [
+ "value",
+ "text",
+ "attribute"
+ ],
+ "type": "string"
+ },
+ "fallbackSelector": {
+ "description": "Tried when `selector` matches nothing.",
+ "type": "string"
+ },
+ "selector": {
+ "description": "A valid, stable CSS selector for the element. Preferred order: `#id`; `[name=\"...\"]` exactly as rendered (letter case matters); a unique `[type=\"...\"]` such as `[type=\"email\"]`; a class. A label, placeholder, or display name is not a selector. A bare tag such as `input` is refused.",
+ "type": "string"
+ },
+ "textMatch": {
+ "additionalProperties": false,
+ "description": "Narrows the matched elements by their text; same operators and rules as `text_match`.",
+ "properties": {
+ "contains": {
+ "type": "string"
+ },
+ "equals": {
+ "type": "string"
+ },
+ "regex": {
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "selector"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ }
+}