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.
The mutation is described in Enable real-time import of behavior signals for contacts.
Signal types and subscription availability
All subscriptions (Pro, Premium, Ultimate)
- Add-to-cart signal
- Identification signal
- Order signal
Premium and Ultimate only
- Browse abandonment signal
- Cart abandonment signal
- 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.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
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")
Browse abandonment signal
Indicates strong interest in a product without addition to cart or purchasing. For example, a user viewed a product, selected a size but didn't take further action.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
identifiableAttributes: { email: "[email protected]" }
sessionId: "SESS-789456123ABC"
signalContent: {
signalType: "browseAbandonment"
category: "Behavior"
name: "Browse abandonment on outdoor furniture"
effect: "negative"
currency: "USD"
abandonmentReason: "EXCESSIVE_SCROLLING"
abandonmentReasonDescription: "User scrolled through 35 products without engagement"
promotionId: "SUMMER2025"
abandonedItems: [
{
productId: "OUT-CHAIR-TEAK-001"
productName: "Premium Teak Outdoor Dining Chair"
productDescription: "Weather-resistant teak wood dining chair with cushions"
unitPrice: 249.99
inventoryQuantity: 24
productCategory: "Outdoor Living / Furniture / Dining"
productUrls: ["https://www.example.com/outdoor/furniture/dining/teak-chair"]
imageUrls: [
"https://www.example.com/images/teak-chair-front.jpg"
"https://www.example.com/images/teak-chair-side.jpg"
]
}
{
productId: "OUT-TABLE-ALU-002"
productName: "Aluminum Extendable Patio Table 84 Inch"
productDescription: "Rust-proof aluminum table extends to seat 8-10 people"
unitPrice: 899.99
inventoryQuantity: 8
discount: 100.00
productCategory: "Outdoor Living / Furniture / Dining"
productUrls: ["https://www.example.com/outdoor/furniture/dining/aluminum-table-84"]
imageUrls: [
"https://www.example.com/images/alu-table-closed.jpg"
"https://www.example.com/images/alu-table-extended.jpg"
]
promotionId: "SUMMER2025"
}
{
productId: "OUT-UMBERELLA-BLK-003"
productName: "Cantilever Patio Umbrella 11 Foot Black"
productDescription: "UV-resistant fabric with 360-degree rotation base"
unitPrice: 329.99
inventoryQuantity: 3
productCategory: "Outdoor Living / Furniture / Accessories"
productUrls: ["https://www.example.com/outdoor/furniture/accessories/cantilever-umbrella-11ft"]
imageUrls: ["https://www.example.com/images/umbrella-black-11ft.jpg"]
}
]
signalTimestamp: "2025-11-10T16:22:15.001Z"
}
}
]
) {
signalIds
}
}
Required fields
currency: String - Price currency. Valid values: ISO 4217 currency code (for example, "USD", "EUR", "GBP").signalType: String - Signal type. Valid value:browseAbandonment.
Optional fields
abandonmentReason: String - Reason for abandonment. Valid values:APPLICATION_ERROR,LARGEST_CONTENTFUL_PAINT,CUMULATIVE_LAYOUT_SHIFT,FIRST_INPUT_DELAY,RAGE_CLICK,USER_ERRORS,EXCESSIVE_SCROLLING.abandonmentReasonDescription: String - Additional description of the abandonment reasonabandonedItems: Array of objects - List of items that the user interacted with but didn't add to the cartcategory: String - Signal category. Valid value:Behavior.description: String - Description of the signalname: String - Name to differentiate this signal from others (for example, "Browse abandonment on product listing page"). Max length: 256 chars.promotionId: String - Promotion identifier associated with the browse sessionproductCategoryId: String - Product category identifiersignalTimestamp: String - ISO 8601 timestamp when the signal occurred (for example,2025-08-31T08:29:30.001Z).
Descriptions of the abandonment reasons:
- APPLICATION_ERROR - The user encountered a technical error in the application such as "404 - Page not Found".
- CUMULATIVE_LAYOUT_SHIFT - The page layout shifted unexpectedly, disrupting the user experience.
- EXCESSIVE_SCROLLING - The user scrolled excessively, possibly searching for information or due to poor design.
- FIRST_INPUT_DELAY - There was a significant delay between the user's first interaction and the app's response.
- LARGEST_CONTENTFUL_PAINT - The page took too long to load frustrating the user.
- RAGE_CLICK - The user repeatedly clicked on a UI element out of frustration.
- USER_ERRORS - There were validation errors such as form entry mistakes which led to frustration.
Abandoned items object
Objects in the abandonedItems array can include the following fields:
discount(optional): Number - Discount applied to the itemimageUrls(optional): Array of strings - URLs of product imagesinventoryQuantity(optional): Number - Available inventory quantityitemQuantity(optional): Number - Quantity of itemsproductCategory(optional): String - Product category from catalogproductDescription(optional): String - Description of the productproductId(required): String - Unique product identifierproductName(required): String - Name of the productproductUrls(optional): Array of strings - URLs of product pagespromotionId(optional): String - Associated promotion identifiershoppingCartUrl(optional): String - URL of the shopping cartunitPrice(required): Number - Price per unitvirtualCategory(optional): String - Category based on navigation path (e.g., "New arrivals", "Sale")
Cart abandonment signal
Cart abandonment occurs when there is an add-to-cart behavior in a session without an order before the session expires.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
identifiableAttributes: { email: "[email protected]" }
sessionId: "SESS-789456123ABD"
signalContent: {
signalType: "cartAbandonment"
currency: "USD"
abandonedCartValue: 159.97
abandonmentReason: "USER_ERRORS"
abandonmentReasonDescription: "Payment form validation errors"
shoppingCartUrl: "https://www.example.com/cart"
abandonedItems: [
{
productId: "AC-PNT-WHT-SM"
productName: "AWESOME COLORS Interior Paint Satin Finish 32 Fl Oz"
productDescription: "Premium interior paint with satin finish"
unitPrice: 39.99
itemQuantity: 2
discount: 5.00
productCategory: "Painting & Decorating / Paint"
productUrls: ["https://www.example.com/painting-and-decorating/paint/awesome-colors-interior-satin-paint"]
imageUrls: ["https://www.example.com/images/awesome-colors-paint.jpg"]
shoppingCartUrl: "https://www.example.com/cart"
}
{
productId: "BR-2IN-PRO"
productName: "Professional Paint Brush 2 Inch"
productDescription: "High-quality synthetic bristle brush"
unitPrice: 12.99
itemQuantity: 3
discount: 2.00
productCategory: "Painting & Decorating / Tools"
productUrls: ["https://www.example.com/painting-and-decorating/tools/professional-paint-brush-2in"]
imageUrls: ["https://www.example.com/images/paint-brush-2in.jpg"]
shoppingCartUrl: "https://www.example.com/cart"
}
]
signalTimestamp: "2025-11-07T14:45:22.001Z"
}
}
]
) {
signalIds
}
}
Required fields
abandonedCartValue: Number - Total value of the abandoned cartcurrency: String - ISO 4217 currency code (for example, "USD", "EUR", "GBP").signalType: String - Valid value:cartAbandonment.
Optional fields
abandonmentReason: String - Reason for abandonment. Valid values:APPLICATION_ERROR,LARGEST_CONTENTFUL_PAINT,CUMULATIVE_LAYOUT_SHIFT,FIRST_INPUT_DELAY,RAGE_CLICK,USER_ERRORS,EXCESSIVE_SCROLLING.abandonmentReasonDescription: String - Additional description of the abandonment reason.abandonedItems: Array of objects - List of items abandoned in the cart. Each object in the array can include:productId: String - Product identifier (may match SKU)productName: String - Product nameunitPrice: Number - Price per unitproductDescription: String - Product descriptionitemQuantity: Number - Quantity of product added to cartdiscount: Number - Discount applied to the itemproductCategory: String - Product category based on catalogproductUrls: Array of strings - Product page URLsimageUrls: Array of strings - Product image URLsshoppingCartUrl: String - Shopping cart URLvirtualCategory: String - Category based on navigation path (e.g., "New arrivals", "Sale")promotionId: String - ID from marketing campaigns (hero images, CTAs) that led to this actionproductCategoryId: String - Product category identifier
category: String - Signal category. Valid value:Behavior.description: String - Description of the signalname: String - Name to differentiate this signal from others (for example, "Cart abandonment on checkout page"). Max length: 256 chars.shoppingCartUrl: String - URL of the shopping cart pagesignalTimestamp: String - ISO 8601 timestamp when the signal occurred (for example,2025-08-31T08:29:30.001Z).
Descriptions of the abandonment reasons:
- APPLICATION_ERROR - The user encountered a technical error in the application such as "404 - Page not Found".
- CUMULATIVE_LAYOUT_SHIFT - The page layout shifted unexpectedly, disrupting the user experience.
- EXCESSIVE_SCROLLING - The user scrolled excessively, possibly searching for information or due to poor design.
- FIRST_INPUT_DELAY - There was a significant delay between the user's first interaction and the app's response.
- LARGEST_CONTENTFUL_PAINT - The page took too long to load frustrating the user.
- RAGE_CLICK - The user repeatedly clicked on a UI element out of frustration.
- USER_ERRORS - There were validation errors such as form entry mistakes which led to frustration.
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.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
identifiableAttributes: { email: "[email protected]" }
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.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
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.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
identifiableAttributes: { sms: "+37455190000" }
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.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
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.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
identifiableAttributes: { whatsapp: "+14035549090" }
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.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
identifiableAttributes: { email: "[email protected]" }
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.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
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.
mutation {
createSignals(
signals: [
{
appKey: "{YOUR_APP_KEY}"
identifiableAttributes: { email: "[email protected]" }
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
