Offer Generator — Analytics Events
These events track how users interact with the Offer Generator (calculator) feature. They can be used to measure feature adoption, trial usage patterns, and which actions users take on their generated offers.
Events
1. offer_generator_opened
The user opens the Offer Generator page.
| Property | Description |
|---|---|
isTrial | Whether the user is currently on a free trial |
Technical details:
- Fired from
containers/Calculator/index.json component mount viauseEffect - Uses the
useAnalyticshook (client-side, Mixpanel) - Handler:
lib/analytics/client/analyticsMetrics/offerGeneratorMetrics.ts(collectOfferGeneratorOpenedMetrics)
2. offer_generated
The user runs a calculation and gets results.
| Property | Description |
|---|---|
calculationId | Unique ID of this calculation |
vehicleCount | Number of vehicles returned in the results |
isTrial | Whether the user is on a free trial |
trialRemaining | How many trial calculations remain (null if not on trial) |
trialLimit | Total trial calculation limit (null if not on trial) |
Technical details:
- Fired from
containers/Calculator/index.jsafter a successful calculation completes (inside theuseCalculatorUpdatercallback) - Uses the
useAnalyticshook (client-side, Mixpanel) - Handler:
lib/analytics/client/analyticsMetrics/offerGeneratorMetrics.ts(collectOfferGeneratedMetrics)
3. offer_action_clicked
The user takes an action on the generated offer results.
| Property | Description |
|---|---|
action | What the user did: pdf (download PDF), copy_results (copy to clipboard), copy_available (copy available vehicles), link (share link) |
calculationId | Unique ID of the calculation |
isTrial | Whether the user is on a free trial |
savedOfferId | ID of the saved offer (only present for the link action) |
Technical details:
- Fired from multiple components depending on the action:
pdf:containers/Calculator/DownloadPdfOffer.jscopy_results:containers/Calculator/CopyResults.jscopy_available:containers/Calculator/ResultVehicles.jslink:containers/Calculator/CopyResults.js
- Uses the
useAnalyticshook (client-side, Mixpanel) - Handler:
lib/analytics/client/analyticsMetrics/offerGeneratorMetrics.ts(collectOfferActionClickedMetrics)
Example Queries (Mixpanel)
Feature adoption: How many users open the Offer Generator per day/week?
- Count
offer_generator_opened, broken down by time
Trial usage: How quickly do trial users exhaust their free calculations?
- Filter
offer_generatedwhereisTrial = true, tracktrialRemainingover time per user
Most popular actions: What do users do with their offers?
- Count
offer_action_clickedbroken down byaction
Engagement depth: How many calculations does a user run per session?
- Count
offer_generatedgrouped by user, per session