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).
To learn what this signal captures and how to use it in Connect, see On site search signal guide. To send it from your website or app instead, use Log signal: web, Android, iOS.
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 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: 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.
