Endpoint
POST https://analytics.getsolarmax.com/track
- Success: HTTP 204 No Content (response is sent immediately; processing continues asynchronously).
- CORS: Allowed for configured origins; beacon payloads may use
Content-Type: text/plainwith JSON body to reduce preflights.
Required fields
| Field | Description |
|---|---|
site_domain | Tenant key (e.g. getsolarmax.com). Used for routing, branding, and dashboard filters. |
event_name | Logical event type (PageView, LeadFormSubmitted, …). See Tracking events. |
Strongly recommended
| Field | Description |
|---|---|
page_url | Full URL for attribution and conversion URL rules. |
visitor_id / session_id | Stable strings from the tracker; mapped server-side to deterministic UUIDs for attribution tables. |
attribution | Object carrying gclid, fbclid, msclkid, UTMs, etc. |
Processing rules (summary)
- Bots / velocity — High-risk traffic may be flagged (
is_bot). LeadFormSubmitted— May be dropped from persistence unlesspage_urlmatches thank-you / completion patterns (server-side “survey completion URL” gate)—see server code and Tracking events.- Lead deduplication —
LeadFormSubmittedis constrained to one Ads/Meta “lead” submission per matched identity when possible (see Lead form deduplication). - Forwarding — GA4 dispatch is attempted when credentials exist; Meta / Google Ads only under explicit conditions—see Server forwarding.