Overview
When building a custom Smart Search integration that calls the Rebuy API directly — without using the Rebuy JS package — you are responsible for firing the analytics events that Rebuy JS would otherwise fire automatically. These events populate the Smart Search analytics dashboard and enable conversion tracking.
All events use the Rebuy Analytic 2.0 endpoints:
POST https://rebuyengine.com/api/v2/analytics/event
POST https://rebuyengine.com/api/v2/analytics/event/bulk
Use the bulk endpoint
A single search interaction can generate many events — session start, one per search result, filter events, and conversion events. Use the bulk endpoint to send multiple events in a single request (up to 100) rather than making individual calls for each event.
Using the Rebuy JS package?
If your integration uses the Rebuy JS package, these events fire automatically. This reference is for custom integrations that call the Rebuy API directly.
Quick View vs Results Page
Smart Search has two surfaces. Most events apply to both, but the payloads differ in a few key ways:
| Aspect |
Quick View |
Results Page |
| Surface |
Instant search overlay |
Dedicated search results page |
| Type meta key |
"is-quick-view": true |
"is-results-page": true |
Add to cart source |
"Quick View" |
"Search Result" |
| Search Term Changed event |
Yes |
No |
| Trigger |
Input debounce |
URL param or manual |
Events
---
title: Smart Search Tracking Overview
excerpt: Analytics events developers must fire when building custom Smart Search integrations without the Rebuy JS package
deprecated: false
hidden: false
metadata:
title: ''
description: ''
robots: index
next:
description: ''
---
When building a custom Smart Search integration that calls the Rebuy API directly — without using the Rebuy JS package — you are responsible for firing the analytics events that Rebuy JS would otherwise fire automatically. These events populate the Smart Search analytics dashboard and enable conversion tracking.
All events use the [Rebuy Analytic 2.0](rebuy-analytic-v2-endpoints.md) endpoints:
```
POST https://rebuyengine.com/api/v2/analytics/event
POST https://rebuyengine.com/api/v2/analytics/event/bulk
```
!!! tip "Use the bulk endpoint"
A single search interaction can generate many events — session start, one per search result, filter events, and conversion events. Use the [bulk endpoint](rebuy-analytic-v2-endpoints.md#post-apiv2analyticseventbulk) to send multiple events in a single request (up to 100) rather than making individual calls for each event.
!!! note "Using the Rebuy JS package?"
If your integration uses the Rebuy JS package, these events fire automatically. This reference is for custom integrations that call the Rebuy API directly.
## Quick View vs Results Page
Smart Search has two surfaces. Most events apply to both, but the payloads differ in a few key ways:
| Aspect | Quick View | Results Page |
|--------|-----------|--------------|
| Surface | Instant search overlay | Dedicated search results page |
| Type meta key | `"is-quick-view": true` | `"is-results-page": true` |
| Add to cart `source` | `"Quick View"` | `"Search Result"` |
| Search Term Changed event | Yes | No |
| Trigger | Input debounce | URL param or manual |
## Events
| Event | When it fires | Quick View | Results Page |
|-------|--------------|-----------|--------------|
| [Search Session Start](smart-search-tracking-quick-view.md#search-session-start) | Overlay opens or results page loads | Yes | Yes |
| [User Searched](smart-search-tracking-quick-view.md#user-searched) | User performs a search | Yes | Yes |
| [Searched Product Viewed](smart-search-tracking-quick-view.md#searched-product-viewed) | Once per product in results | Yes | Yes |
| [Filter Type Applied](smart-search-tracking-quick-view.md#filter-type-applied) | User applies a filter (once per filter type) | Yes | Yes |
| [Filter Value Applied](smart-search-tracking-quick-view.md#filter-value-applied) | Once per individual filter value | Yes | Yes |
| [No Search Results](smart-search-tracking-quick-view.md#no-search-results) | Search returns zero products | Yes | Yes |
| [Search Term Changed](smart-search-tracking-quick-view.md#search-term-changed) | User changes search term after a previous search | Yes | — |
| [Click to PDP](smart-search-tracking-quick-view.md#click-to-pdp) | User clicks a product to view its detail page | Yes | Yes |
| [Add to Cart](smart-search-tracking-quick-view.md#add-to-cart) | User adds a product to cart from search | Yes | Yes |
## Related
- [Rebuy Analytic 2.0 Endpoints](rebuy-analytic-v2-endpoints.md) — Base endpoint and identification field documentation, including the [bulk endpoint](rebuy-analytic-v2-endpoints.md#post-apiv2analyticseventbulk)
- [Smart Search Tracking: Quick View](smart-search-tracking-quick-view.md) — Full event payloads for Quick View
- [Smart Search Tracking: Results Page](smart-search-tracking-results-page.md) — Full event payloads for Results Page
- [Smart Search Event Listeners](smart-search-event-listeners.md) — JS lifecycle events for the Rebuy JS package
<!-- Source: onsite-js/src/onsite/js/modules/Tracker/Tracker.js -->