Send product configuration signals with the API

Send a product configuration signal to Connect with the createSignals mutation. For authentication, contact mapping, consent and the response, see Send signals with the API (GraphQL).

📘

Other ways to send this signal

Web · Android · iOS

All signals and methods: Signals overview

Tracks interactions on product pages (selecting clothing size, checking FAQs/reviews, etc.) that suggest customer engagement.

mutation {
  createSignals(
    signals: [
      {
        appKey: "{YOUR_APP_KEY}"
        audience: [
          { name: "Customer ID", value: "AAUN-1417508" }
          { name: "Preferred size", value: "M" }
        ]
        sessionId: "SESS-789456123AB"
        signalContent: {
          signalType: "productConfiguration"
          category: "Behavior"
          name: "Product configuration from online store"
          effect: "positive"
          currency: "USD"
          productId: "CT-SWT-NVY-M"
          productName: "Classic Cotton Crew Neck Sweater Navy"
          configurationType: "Size selection"
          unitPrice: 49.99
          productCategory: "Clothing / Sweaters"
          signalTimestamp: "2026-02-22T08:29:30.001Z"
        }
      }
    ]
  ) {
    signalIds
  }
}

Required fields

  • productId: String - Product identifier (may match SKU)
  • productName: String - Product name
  • signalType: 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)
  • currency: String - Product price currency (valid values: ISO 4217 currency codes)
  • description: String - Description of the signal
  • discount: Number - Discount amount
  • effect: String - Signal engagement effect (valid values: negative, positive) - We suggest positive for all product configuration signals.
  • imageUrls: Array of strings - URLs of product images
  • inventoryQuantity: Number - Number of units available. Use integers.
  • name: String (up to 256 characters) - Signal name to differentiate from other signals
  • productCategory: String - Product category name based on catalog
  • productCategoryId: String - Product category identifier
  • productDescription: String - Description of the product
  • productUrls: Array of strings - URLs of product pages
  • promotionId: String - ID from marketing campaigns that influenced the purchase
  • shoppingCartUrl: String - URL of the shopping cart
  • signalCustomAttributes: Array of objects - Additional custom attributes (each object needs name and value string fields)
  • signalTimestamp: Date - When signal happened (if omitted, Connect uses time when signal was received). Valid values: DateTime strings (ISO 8601). Example: 2026-02-28T16:22:15.001Z.
  • unitPrice: Number - Unit price of the product
  • virtualCategory: String - Category based on navigation path (e.g., "New arrivals", "Sale")