Skip to content

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.

PropertyDescription
isTrialWhether the user is currently on a free trial

Technical details:

  • Fired from containers/Calculator/index.js on component mount via useEffect
  • Uses the useAnalytics hook (client-side, Mixpanel)
  • Handler: lib/analytics/client/analyticsMetrics/offerGeneratorMetrics.ts (collectOfferGeneratorOpenedMetrics)

2. offer_generated

The user runs a calculation and gets results.

PropertyDescription
calculationIdUnique ID of this calculation
vehicleCountNumber of vehicles returned in the results
isTrialWhether the user is on a free trial
trialRemainingHow many trial calculations remain (null if not on trial)
trialLimitTotal trial calculation limit (null if not on trial)

Technical details:

  • Fired from containers/Calculator/index.js after a successful calculation completes (inside the useCalculatorUpdater callback)
  • Uses the useAnalytics hook (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.

PropertyDescription
actionWhat the user did: pdf (download PDF), copy_results (copy to clipboard), copy_available (copy available vehicles), link (share link)
calculationIdUnique ID of the calculation
isTrialWhether the user is on a free trial
savedOfferIdID of the saved offer (only present for the link action)

Technical details:

  • Fired from multiple components depending on the action:
    • pdf: containers/Calculator/DownloadPdfOffer.js
    • copy_results: containers/Calculator/CopyResults.js
    • copy_available: containers/Calculator/ResultVehicles.js
    • link: containers/Calculator/CopyResults.js
  • Uses the useAnalytics hook (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_generated where isTrial = true, track trialRemaining over time per user

Most popular actions: What do users do with their offers?

  • Count offer_action_clicked broken down by action

Engagement depth: How many calculations does a user run per session?

  • Count offer_generated grouped by user, per session