Send on-site search signals with the API

Send an on-site search 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

Records search terms website visitors use and number of results they get.

mutation {
  createSignals(
    signals: [
      {
        appKey: "{YOUR_APP_KEY}"
        audience: [{ name: "Cell phone", value: "+13115552368" }]
        sessionId: "SESS-789456123AB"
        signalContent: {
          signalType: "onSiteSearch"
          category: "Behavior"
          name: "Product search in online store"
          effect: "positive"
          searchTerm: "paint with satin finish"
          numberOfResults: 9
          signalTimestamp: "2026-02-22T08:29:30.001Z"
        }
      }
    ]
  ) {
    signalIds
  }
}

Required fields

  • numberOfResults: Number - Number of results matching the search term. Use integers.
  • searchTerm: String - Word or phrase the visitor searched for
  • signalType: String - Signal type (valid value: onSiteSearch)

Optional fields

  • category: String - Signal category (valid value: Behavior)
  • description: String - Description of the signal
  • effect: String - Signal engagement effect. Valid values: negative, positive. Send positive if search returns results, negative if no results.
  • name: String (up to 256 characters) - Signal name to differentiate from other signals
  • 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.