How behavior signals are processed in Connect

When Connect receives a behavior signal, it does more than record a user interaction. It maps the signal to a contact, updates the product catalog, and can simultaneously enrich contact profiles and consent preferences. This page explains how each of these processes works.

📘

Note

The current instruction focuses on signals sent by the Connect SDK. If you are interested in importing signals from an external source, see How imported signals update data in your Connect subscription.

Contact mapping

When Connect receives a signal, it first checks identification records in the audience object in order to map the signal to a contact.

Single identification record

  • Existing contact found: The outcome depends on the type of attribute provided:
    • Contact key: Connect maps the signal to the matching contact and updates their contact information if it has changed.
    • Email or phone number: Connect maps the signal to the matching contact. If the matched contact already has a contact key assigned, Connect creates a new contact instead — contact keys are permanent and cannot be overwritten.
  • New contact with addressable attribute: If no contact exists but the attribute is an email address or phone number, Connect creates a new contact and maps the signal to it.
  • New contact with contact key only: If no contact exists and the attribute is a contact key, the signal is discarded — contact keys alone cannot create new contacts.

Several identification records

  • Existing key found: Connect maps the signal to the matching contact and updates their contact information if it has changed.
  • New key + existing addressable attribute:
    • No existing key on matched contact: Connect assigns the new key to the matched contact and maps the signal to them.
    • Different key on matched contact: Connect creates a new contact and maps the signal to it — contact keys are permanent and cannot be overwritten.
  • New key + new addressable attribute: Connect creates a new contact and maps the signal to it.

Product catalog updates

Your company's product catalog in Connect is dynamically updated based on incoming signals from your website. The following signals are used: order, add-to-cart, product view and product configuration.

Processing logic:

  • If a signal contains a new product ID or category ID, Connect creates a new catalog entry based on the signal content.
  • If a product ID is already present in the catalog, Connect makes sure the default product attributes such as name, unit price, category, description, currency, discount, product URLs are up-to-date with the signal.
  • If a category ID is already present in the catalog, Connect makes sure its name matches the signal content.

Special handling:

  • Null values in the signal do not overwrite existing catalog data.
  • Blank values ("") update the catalog to blank/null.
  • Zero values update the related catalog field to zero.

Updating contact data

When importing signals to Connect, you can update contact attributes and consent preferences in the same mutation call using the audience and consent objects. This is useful when a user action that generates a signal also captures new contact information or a consent decision.

Contact attributes

  • Order signal: A contact completes a purchase and enters a delivery address on the checkout page. You can pass the zip code to audience to update the contact's Location attribute in Connect (useful for geo-targeted campaigns).
  • Page view signal: A contact visits their account profile page and updates their email address. You can pass the new email value together with the primary identification record (contact key) to audience.
  • Product configuration signal: A contact selects a clothing size on a product page. You can pass the size preference to audience to enrich the contact's profile for personalized product recommendations.
  • Rich media interaction signal: A contact watches a product video and selects their preferred language from a dropdown. You can pass the language preference to update the contact's Communication language attribute.

Consent preferences

  • Order signal: A contact checks a newsletter sign-up checkbox on the order confirmation page. You can pass the updated email consent status to consent to ensure the contact is enrolled in the appropriate consent group before the next campaign runs.
  • Add-to-cart signal: A contact adds a product to their cart and checks a box to receive back-in-stock alerts via SMS. You can pass the SMS opt-in to consent to enroll the contact in the appropriate consent group immediately.