To import behavioral signals generated by external libraries to Connect, make sure they meet the predefined format. This is the same format that native signals from the Connect library follow.
- File import: Use JSON examples below
- Real-time API import: Use
signalContentin GraphQL examples below
Signal types and subscription availability
All subscriptions (Pro, Premium, Ultimate)
- Add-to-cart signal
- Identification signal
- Order signal
Premium and Ultimate only
- Error signal
- On-site search signal
- Page view signal
- Product configuration signal
- Product view signal
- Rich media interaction signal
Add-to-cart signal
Triggered when a visitor adds products to their cart.
Availability: All Connect subscriptions (Pro, Premium, Ultimate)
{
"signal": {
"sessionId": "OOII97671461464332a1111",
"appKey": "00000000000xxx000000000xxxx",
"identifiableAttributes": {
"contactKey": "AAUN-132417508"
},
"signalContent": {
"signalType": "addToCart",
"category": "Behavior",
"name": "Add product to cart in online store",
"effect": "positive",
"currency": "USD",
"productId": "AC-PNT-WHT-SM",
"productName": "AWESOME COLORS Interior Paint Satin Finish 32 Fl Oz",
"itemQuantity": 2,
"unitPrice": 39.99,
"discount": 7,
"productCategory": "Painting & Decorating / Paint",
"productUrls": [
"https://www.example.com/painting-and-decorating/paint/awesome-colors-interior-satin-paint",
"https://www.example.com/painting-and-decorating/must-haves/awesome-colors-interior-satin-paint"
],
"imageUrls": [
"https://www.example.com/images/awesome-colors-paint.jpg"
],
"shoppingCartUrl": "https://www.example.com/cart",
"signalTimestamp": "2025-10-02T08:29:30.001Z"
}
}
}
mutation {
createSignals(
signals: [
{
appKey: "00000000000xxx000000000xxxx"
identifiableAttributes: { contactKey: "AAUN-132417508" }
sessionId: "OOII97671461464332a1111"
signalContent: {
signalType: "addToCart"
category: "Behavior"
name: "Add product to cart in online store"
effect: "positive"
currency: "USD"
productId: "AC-PNT-WHT-SM"
productName: "AWESOME COLORS Interior Paint Satin Finish 32 Fl Oz"
itemQuantity: 2
unitPrice: 39.99
discount: 7
productCategory: "Painting & Decorating / Paint"
productUrls: [
"https://www.example.com/painting-and-decorating/paint/awesome-colors-interior-satin-paint"
"https://www.example.com/painting-and-decorating/must-haves/awesome-colors-interior-satin-paint"
]
imageUrls: ["https://www.example.com/images/awesome-colors-paint.jpg"]
shoppingCartUrl: "https://www.example.com/cart"
signalTimestamp: "2025-08-31T08:29:30.001Z"
}
}
]
) {
signalIds
}
}
Required fields
currency: String - Price currency. Valid values: ISO 4217 currency codes. Examples: "USD", "EUR", "GBP".itemQuantity: Number (integer) - Quantity of product added to cartproductId: String - Product identifier (may match SKU)productName: String - Product namesignalType: String - Signal type (valid value:addToCart)unitPrice: Number - Unit price of the product
Optional fields
category: String - Signal category (valid values:Behavior)description: String - Description of the signaldiscount: Number - Discount amount or difference between original and current priceimageUrls: Array of strings - Product image URLseffect: String - Signal engagement effect (valid values:negative,positive).name: String - Signal name to differentiate from other signals. Max length - 256 chars.productCategory: String - Product category based on catalogproductCategoryId: String - Product category identifierproductDescription: String - Product descriptionproductUrls: Array of strings - Product page URLspromotionId: String - ID from marketing campaigns (hero images, CTAs) that led to this actionshoppingCartUrl: String - Shopping cart URLsignalCustomAttributes: Array of objects - Additional custom attributes (each object needsnameandvaluestring fields)signalTimestamp: Date - When signal happened (if omitted, Connect uses time when signal was received). Valid values: DateTime strings (ISO 8601). Example:2025-08-31T08:29:30.001Z.virtualCategory: String - Category based on navigation path (e.g., "New arrivals", "Sale")
Error signal
Sent when a user encounters an error on your site. Focus on payment, promo code, and account registration errors that lead users away from the happy path.
Availability: Premium and Ultimate subscriptions
{
"signal": {
"sessionId": "OOII97671461464332a1111",
"appKey": "00000000000xxx000000000xxxx",
"identifiableAttributes": {
"contactKey": "AAUN-132417508"
},
"signalContent": {
"signalType": "error",
"category": "Behavior",
"name": "Shopping cart error",
"effect": "negative",
"errorText": "This promo code is invalid.",
"errorType": "USER",
"errorIdentifier": "promoCode",
"signalTimestamp": "2025-10-01T08:29:30.001Z"
}
}
}
mutation {
createSignals(
signals: [
{
appKey: "00000000000xxx000000000xxxx"
identifiableAttributes: { contactKey: "AAUN-132417508" }
sessionId: "OOII97671461464332a1111"
signalContent: {
signalType: "error"
category: "Behavior"
name: "Shopping cart error"
effect: "negative"
errorText: "This promo code is invalid."
errorType: "USER"
errorIdentifier: "promoCode"
signalTimestamp: "2025-08-31T08:29:30.001Z"
}
}
]
) {
signalIds
}
}
Required fields
errorText: String - Error message content receivederrorType: String - Error type (valid values:application,user) - Application errors are server-side/system errors; user errors occur when input doesn't pass validation.signalType: String - Signal type (valid value:error)
Optional fields
category: String - Signal category (valid value:Behavior)description: String - Description of the signaleffect: String - Signal engagement effect (valid values:negative,positive) - We suggestnegativefor all error signals.errorIdentifier: String - Error identifier (e.g., "promoCode")name: String (up to 256 characters) - Signal name to differentiate from other signalssignalCustomAttributes: Array of objects - Additional custom attributes (each object needsnameandvaluestring fields)signalTimestamp: DateTime string (ISO 8601) - When signal happened (if omitted, Connect uses time when signal was received)
Identification signal
Captures visitors' emails or client/contact IDs as they browse your website.
Availability: All Connect subscriptions (Pro, Premium, Ultimate)
{
"signal": {
"sessionId": "OOII97671461464332a1111",
"appKey": "00000000000xxx000000000xxxx",
"identifiableAttributes": {
"contactKey": "AAUN-132417508"
},
"signalContent": {
"signalType": "identification",
"name": "Identification from login",
"category": "Behavior",
"identifierName": "email",
"identifierValue": "[email protected]",
"identificationFromLogin": true,
"effect": "positive",
"signalTimestamp": "2025-10-01T08:29:30.001Z"
}
}
}
mutation {
createSignals(
signals: [
{
appKey: "00000000000xxx000000000xxxx"
identifiableAttributes: { contactKey: "AAUN-132417508" }
sessionId: "OOII97671461464332a1111"
signalContent: {
signalType: "identification"
category: "Behavior"
name: "Identification from login"
effect: "positive"
identifierName: "email"
identifierValue: "[email protected]"
identificationFromLogin: true
signalTimestamp: "2025-10-01T08:29:30.001Z"
}
}
]
) {
signalIds
}
}
Required fields
identifierName: String - Identifier type (valid values:email,sms,contactKey)identifierValue: String - Contact information associated with visitor (type depends onidentifierNamevalue)signalType: String - Signal type (valid value:identification)
Optional fields
category: String - Signal category (valid value:Behavior)description: String - Description of the signaleffect: String - Signal interpretation for engagement index scoring (valid values:negative,positive)identificationFromLogin: Boolean - Set totrueifidentifierValuederives from user authentication,falseif from cookie/query string (separates explicit vs implicit identification)name: String (up to 256 characters) - Signal name to differentiate from other signalssignalTimestamp: DateTime string (ISO 8601) - When signal happened (if omitted, Connect uses time when signal was received)
On-site search signal
Records search terms website visitors use and number of results they get.
Availability: Premium and Ultimate subscriptions
{
"signal": {
"sessionId": "OOII97671461464332a1111",
"appKey": "00000000000xxx000000000xxxx",
"identifiableAttributes": {
"contactKey": "AAUN-132417508"
},
"signalContent": {
"signalType": "onSiteSearch",
"category": "Behavior",
"name": "Product search in online store",
"effect": "positive",
"searchTerm": "paint with satin finish",
"numberOfResults": 9,
"signalTimestamp": "2025-08-31T08:29:30.001Z"
}
}
}
mutation {
createSignals(
signals: [
{
appKey: "00000000000xxx000000000xxxx"
identifiableAttributes: { contactKey: "AAUN-132417508" }
sessionId: "OOII97671461464332a1111"
signalContent: {
signalType: "onSiteSearch"
category: "Behavior"
name: "Product search in online store"
effect: "positive"
searchTerm: "paint with satin finish"
numberOfResults: 9
signalTimestamp: "2025-08-31T08:29:30.001Z"
}
}
]
) {
signalIds
}
}
Required fields
numberOfResults: Number (integer) - Number of results matching the search termsearchTerm: String - Word or phrase the visitor searched forsignalType: String - Signal type (valid value:onSiteSearch)
Optional fields
category: String - Signal category (valid value:Behavior)description: String - Description of the signaleffect: String - Signal engagement effect (valid values:negative,positive) - Sendpositiveif search returns results,negativeif no results.name: String (up to 256 characters) - Signal name to differentiate from other signalssignalCustomAttributes: Array of objects - Additional custom attributes (each object needsnameandvaluestring fields)signalTimestamp: DateTime string (ISO 8601) - When signal happened (if omitted, Connect uses time when signal was received)
Order signal
Comes each time a contact places an order on your website. Includes total amount and detailed breakdown by product.
Availability: All Connect subscriptions (Pro, Premium, Ultimate)
{
"signal": {
"sessionId": "OOII97671461464332a1111",
"appKey": "00000000000xxx000000000xxxx",
"identifiableAttributes": {
"contactKey": "AAUN-132417508"
},
"signalContent": {
"signalType": "order",
"category": "Behavior",
"name": "Online store order",
"effect": "positive",
"currency": "USD",
"orderId": "02937-2025-XIA",
"orderSubtotal": 89.47,
"orderShippingHandling": 15.45,
"orderTax": 4.47,
"orderDiscount": 0,
"orderValue": 98.44,
"signalTimestamp": "2025-08-31T08:29:30.001Z",
"orderedItems": [
{
"productId": "AC-PNT-WHT-SM",
"productName": "AWESOME COLORS Interior Paint Satin Finish 32 Fl Oz",
"unitPrice": 39.99,
"itemQuantity": 2,
"currency": "USD",
"discount": 7,
"productCategory": "Painting & Decorating / Paint",
"productUrls": [
"https://www.example.com/painting-and-decorating/paint/awesome-colors-interior-satin-paint",
"https://www.example.com/painting-and-decorating/bestsellers/awesome-colors-interior-satin-paint"
],
"shoppingCartUrl": "https://www.example.com/cart",
"virtualCategory": "Sale"
},
{
"productId": "AC-DBL-BRSH-6",
"productName": "AWESOME COLORS Double Thick Chip Paint Brush",
"unitPrice": 9.49,
"itemQuantity": 1,
"currency": "USD",
"discount": 0,
"productCategory": "Painting & Decorating / Tools",
"productUrls": [
"https://www.example.com/painting-and-decorating/tools/awesome-colors-double-brush",
"https://www.example.com/painting-and-decorating/must-haves/awesome-colors-double-brush"
],
"shoppingCartUrl": "https://www.example.com/cart"
}
]
}
}
}
mutation {
createSignals(
signals: [
{
appKey: "00000000000xxx000000000xxxx"
identifiableAttributes: { contactKey: "AAUN-132417508" }
sessionId: "OOII97671461464332a1111"
signalContent: {
signalType: "order"
category: "Behavior"
name: "Online store order"
effect: "positive"
currency: "USD"
orderId: "02937-2025-XIA"
orderSubtotal: 89.47
orderShippingHandling: 15.45
orderTax: 4.47
orderDiscount: 0
orderValue: 98.44
signalTimestamp: "2025-08-31T08:29:30.001Z"
orderedItems: [
{
productId: "AC-PNT-WHT-SM"
productName: "AWESOME COLORS Interior Paint Satin Finish 32 Fl Oz"
unitPrice: 39.99
itemQuantity: 2
currency: "USD"
discount: 7
productCategory: "Painting & Decorating / Paint"
productUrls: [
"https://www.example.com/painting-and-decorating/paint/awesome-colors-interior-satin-paint"
"https://www.example.com/painting-and-decorating/bestsellers/awesome-colors-interior-satin-paint"
]
shoppingCartUrl: "https://www.example.com/cart"
virtualCategory: "Sale"
}
{
productId: "AC-DBL-BRSH-6"
productName: "AWESOME COLORS Double Thick Chip Paint Brush"
unitPrice: 9.49
itemQuantity: 1
currency: "USD"
discount: 0
productCategory: "Painting & Decorating / Tools"
productUrls: [
"https://www.example.com/painting-and-decorating/tools/awesome-colors-double-brush"
"https://www.example.com/painting-and-decorating/must-haves/awesome-colors-double-brush"
]
shoppingCartUrl: "https://www.example.com/cart"
virtualCategory: ""
}
]
}
}
]
) {
signalIds
}
}
Required fields
currency: String - Order currency (valid values: ISO 4217 currency codes)orderId: String - Order identifiersignalType: String - Signal type (valid values:order)
Optional fields
category: String - Signal category (valid value:Behavior)description: String - Description of the signaleffect: String - Signal engagement effect (valid values:negative,positive) - We suggestpositivefor all order signals.name: String (up to 256 characters) - Signal name to differentiate from other signalsorderDiscount: Number - Discount from original priceorderedItems: Array of objects - Products in the order (separate object per product, not per instance - three identical items = one object withquantity: 3)orderShippingHandling: Number - Shipping and handling amountorderSubtotal: Number - Subtotal amount (net of discount)orderTax: Number - Tax amountorderValue: Number - Total order valuesignalCustomAttributes: Array of objects - Additional custom attributes (each object needsnameandvaluestring fields)signalTimestamp: DateTime string (ISO 8601) - When signal happened (if omitted, Connect uses time when signal was received)
Ordered items object
discount: Number - Discount amount per unitimageUrls: Array of strings - URLs of product imagesitemQuantity: Number - Quantity of this product purchasedproductCategory: String - Product category from catalogproductCategoryId: String - Product category identifierproductDescription: String - Description of the productproductId(required): String - Unique product identifier (may match SKU)productName(required): String - Name of the productproductUrls: Array of strings - URLs of product pagespromotionId: String - ID from marketing campaigns that influenced the purchaseshoppingCartUrl: String - URL of the shopping cartunitPrice(required): Number - Price the customer paid for one unitvirtualCategory: String - Category based on navigation path (e.g., "New arrivals", "Sale")
Page view signal
Registers page views as users browse your website.
Availability: Premium and Ultimate subscriptions
{
"signal": {
"sessionId": "OOII97671461464332a1111",
"appKey": "00000000000xxx000000000xxxx",
"identifiableAttributes": {
"contactKey": "AAUN-132417508"
},
"signalContent": {
"signalType": "pageView",
"category": "Behavior",
"name": "Page view from online store",
"effect": "positive",
"url": "https://www.example.com/painting-and-decorating/tools/",
"pageCategory": "Painting & Decorating",
"pageGroup": "Product Categories",
"signalTimestamp": "2025-10-28T08:29:30.001Z"
}
}
}
mutation {
createSignals(
signals: [
{
appKey: "00000000000xxx000000000xxxx"
identifiableAttributes: { contactKey: "AAUN-132417508" }
sessionId: "OOII97671461464332a1111"
signalContent: {
signalType: "pageView"
category: "Behavior"
name: "Page view from online store"
effect: "positive"
url: "https://www.example.com/painting-and-decorating/tools/"
pageCategory: "Painting & Decorating"
pageGroup: "Product Categories"
signalTimestamp: "2025-10-28T08:29:30.001Z"
}
}
]
) {
signalIds
}
}
Required fields
signalType: String - Signal type (valid value:pageView)url: String - URL of page user opened
Optional fields
category: String - Signal category (valid values:Behavior)description: String - Description of the signal.effect: String - Signal interpretation for engagement index scoring (valid values:negative,positive)name: String (up to 256 characters) - Signal name to differentiate from other signalspageCategory: String - Category the page belongs topageGroup: String - A grouping for related pagessignalCustomAttributes: Array of objects - Additional custom attributes (each object needsnameandvaluestring fields)signalTimestamp: DateTime string (ISO 8601) - When signal happened (if omitted, Connect uses time when signal was received)
Product configuration signal
Tracks interactions on product pages (selecting clothing size, checking FAQs/reviews, etc.) that suggest customer engagement.
Availability: Premium and Ultimate subscriptions
{
"signal": {
"sessionId": "OOII97671461464332a1111",
"appKey": "00000000000xxx000000000xxxx",
"identifiableAttributes": {
"contactKey": "AAUN-132417508"
},
"signalContent": {
"signalType": "productConfiguration",
"category": "Behavior",
"name": "Product configuration from online store",
"effect": "positive",
"currency": "USD",
"productId": "AC-DBL-BRSH-6",
"productName": "AWESOME COLORS Double Thick Chip Paint Brush",
"configurationType": "Size selection",
"unitPrice": 9.49,
"productCategory": "Painting & Decorating / Tools",
"signalTimestamp": "2025-08-31T08:29:30.001Z"
}
}
}
mutation {
createSignals(
signals: [
{
appKey: "00000000000xxx000000000xxxx"
identifiableAttributes: { contactKey: "AAUN-132417508" }
sessionId: "OOII97671461464332a1111"
signalContent: {
signalType: "productConfiguration"
category: "Behavior"
name: "Product configuration from online store"
effect: "positive"
currency: "USD"
productId: "AC-DBL-BRSH-6"
productName: "AWESOME COLORS Double Thick Chip Paint Brush"
configurationType: "Size selection"
unitPrice: 9.49
productCategory: "Painting & Decorating / Tools"
signalTimestamp: "2025-08-31T08:29:30.001Z"
}
}
]
) {
signalIds
}
}
Required fields
currency: String - Product price currency (valid values: ISO 4217 currency codes)productId: String - Product identifier (may match SKU)productName: String - Product namesignalType: String - Signal type (valid value:productConfiguration)
Optional fields
category: String - Signal category (valid value:Behavior)configurationType: String - Interaction label (name product parameter like size/color/quantity or identify UI element like dropdown)description: String - Description of the signaldiscount: Number - Discount amounteffect: String - Signal engagement effect (valid values:negative,positive) - We suggestpositivefor all product configuration signals.imageUrls: Array of strings - URLs of product imagesinventoryQuantity: Number (integer) - Number of units availablename: String (up to 256 characters) - Signal name to differentiate from other signalsproductCategory: String - Product category from catalogproductCategoryId: String - Product category identifierproductDescription: String - Description of the productproductUrls: Array of strings - URLs of product pagespromotionId: String - ID from marketing campaigns that influenced the purchaseshoppingCartUrl: String - URL of the shopping cartsignalCustomAttributes: Array of objects - Additional custom attributes (each object needsnameandvaluestring fields)signalTimestamp: DateTime string (ISO 8601) - When signal happened (if omitted, Connect uses time when signal was received)unitPrice: Number - Unit price of the productvirtualCategory: String - Category based on navigation path (e.g., "New arrivals", "Sale")
Product view signal
Records user activity on product pages. Provides insights into product and category attention, crucial for segmentation and tying product interest to identified visitors.
Availability: Premium and Ultimate subscriptions
{
"signal": {
"sessionId": "OOII97671461464332a1111",
"appKey": "00000000000xxx000000000xxxx",
"identifiableAttributes": {
"contactKey": "AAUN-132417508"
},
"signalContent": {
"signalType": "productView",
"category": "Behavior",
"name": "Product view from online store",
"effect": "positive",
"productId": "AC-DBL-BRSH-6",
"productName": "AWESOME COLORS Double Thick Chip Paint Brush",
"currency": "USD",
"unitPrice": 9.49,
"availability": "In Stock",
"brandName": "Awesome Colors",
"discount": 0,
"productCategory": "Painting & Decorating / Tools",
"inventoryQuantity": 150,
"signalTimestamp": "2025-11-04T08:29:30.001Z"
}
}
}
mutation {
createSignals(
signals: [
{
appKey: "00000000000xxx000000000xxxx"
identifiableAttributes: { contactKey: "AAUN-132417508" }
sessionId: "OOII97671461464332a1111"
signalContent: {
signalType: "productView"
category: "Behavior"
name: "Product view from online store"
effect: "positive"
productId: "AC-DBL-BRSH-6"
productName: "AWESOME COLORS Double Thick Chip Paint Brush"
currency: "USD"
unitPrice: 9.49
availability: "In Stock"
brandName: "Awesome Colors"
discount: 0
productCategory: "Painting & Decorating / Tools"
inventoryQuantity: 150
signalTimestamp: "2025-08-31T08:29:30.001Z"
}
}
]
) {
signalIds
}
}
Required fields
productId: String - Product identifier (may match SKU)productName: String - Product namesignalType: String - Signal type (valid values:productView)
Optional fields
availability: String - Product availability status (e.g., "In Stock", "Out of Stock", "Back Order")brandDescription: String - Brand descriptionbrandName: String - Product brand namecategories: String - Product categoriescategory: String - Signal category (valid value:Behavior)currency: String - Product price currency on website (valid values: ISO 4217 currency codes)dateAdded: DateTime string - When product was added to catalog (format:yyyy-MM-dd HH:mm:ss.SSS)description: String - Description of the signaldiscount: Number - Discount from original priceeffect: String - Signal engagement effect (valid values:negative,positive) - We suggestpositivefor all product viewsimageUrls: Array of strings - Product image URLsinventoryQuantity: Number (integer) - Number of units availablemodel: String - Model number or descriptionmsrp: Number (decimal/float) - Suggested retail price or original price. Must be a decimal or float.name: String (up to 256 characters) - Signal name to differentiate from other signalsproductCategory: String - Product category based on catalogproductCategoryId: String - Product category identifierproductDescription: String - Product descriptionproductRating: Number - Product ratingproductStatus: String - Product lifecycle state (e.g., "Active", "Discontinued", "Upcoming")productUrls: Array of strings - Product page URLspromotionId: String - ID from marketing campaigns (hero images, CTAs) that led to this viewshoppingCartUrl: String - Shopping cart URLsignalCustomAttributes: Array of objects - Additional custom attributes (each object needsnameandvaluestring fields)signalTimestamp: DateTime string (ISO 8601) - When signal happened (if omitted, Connect uses time when signal was received)sku: String - SKU (if different from product ID)tags: Array of strings - Tags assigned to the productunitPrice: Number - Unit price of productvirtualCategory: String - Category based on navigation path (e.g., "New arrivals", "Sale")
Rich media interaction signal
Records user interactions with video and audio content on your website. Valuable for audience segmentation based on product/category interest.
Availability: Premium and Ultimate subscriptions
{
"signal": {
"sessionId": "OOII97671461464332a1111",
"appKey": "00000000000xxx000000000xxxx",
"identifiableAttributes": {
"contactKey": "AAUN-132417508"
},
"signalContent": {
"signalType": "richMediaInteraction",
"category": "Behavior",
"name": "Video review interaction in online store",
"effect": "positive",
"mediaId": "jhaf6r76a",
"interactionType": "LAUNCH",
"mediaCategory": "video",
"mediaName": "How I used AWESOME COLORS Brush to paint the ceiling",
"url": "https://www.example.com/opinions/painting-and-decorating/",
"signalTimestamp": "2025-11-04T08:32:30.001Z"
}
}
}
mutation {
createSignals(
signals: [
{
appKey: "00000000000xxx000000000xxxx"
identifiableAttributes: { contactKey: "AAUN-132417508" }
sessionId: "OOII97671461464332a1111"
signalContent: {
signalType: "richMediaInteraction"
category: "Behavior"
name: "Video review interaction in online store"
effect: "positive"
mediaId: "jhaf6r76a"
interactionType: "LAUNCH"
mediaCategory: "video"
mediaName: "How I used AWESOME COLORS Brush to paint the ceiling"
url: "https://www.example.com/opinions/painting-and-decorating/"
signalTimestamp: "2025-11-04T08:32:30.001Z"
}
}
]
) {
signalIds
}
}
Required fields
mediaId: String - Media file URLsignalType: String - Signal type (valid values:richMediaInteraction)
Optional fields
category: String - Signal category (valid values:Behavior)description: String - Description of the signaleffect: String - Signal engagement effect (valid values:negative,positive) - Usually rich media interactions are positive signalsinteractionType: String - User interaction type (valid values:load,launch,pause,continue,complete,stop,enlarge)mediaCategory: String - Media category (e.g., "video")mediaName: String - Audio or video file titlename: String (up to 256 characters) - Signal name to differentiate from other signalssignalCustomAttributes: Array of objects - Additional custom attributes (each object needsnameandvaluestring fields)signalTimestamp: DateTime string (ISO 8601) - When signal happened (if omitted, Connect uses time when signal was received)url: String - URL of page where media file is embedded
