← Top Rep Training hub

Top Rep Training · Task doc

SegMetrics Implementation — Company-Wide Revenue & Attribution Routing

Complex ·ClickUp: proposed ·Open in ClickUp ↗ ·Updated 2026-08-03
What this task isStand up SegMetrics as the revenue attribution layer to replace Hyros, across all company revenue streams — but the original plan assumed a native Authorize.net connector that does not exist, so the routing architecture (likely GHL invoices as the identity-guaranteed layer) must be decided before implementation begins. Requires running parallel with Hyros until validated.
The Request

Purpose

Stand up SegMetrics as the attribution layer replacing Hyros, routed correctly for all company revenue — not just Bootcamp. Run in parallel with Hyros until validated.

Trial: 14-day, Grow tier (~$197/mo), priced by CRM contact count — no revenue cap.

Key finding: SegMetrics has NO Authorize.net integration

Confirmed against SegMetrics' live integrations directory (~130 integrations) and in-app. The only Authorize.net page on their site is a stale /integration-tmp/ URL that 404s. There is also no TicketSpice/Webconnex integration.

This invalidates the original plan assumption that we would wire revenue in via a native Authorize.net connector.

The architectural insight

Hyros read the payment layer (Authorize.net). That layer does not reliably carry customer identity — which is why manual invoices arrived anonymous and inherited stray ad clicks. That was diagnosed as a manual-invoice identity gap; it is more accurately a layer problem.

Reading GHL invoices instead means identity is structurally guaranteed — a GHL invoice is bound to a GHL contact by construction. SegMetrics matches payments to contacts by email; when the payment originates in the CRM, that match is free.

This is a stronger case for the architecture than "cheaper and no revenue cap."

Three revenue streams, three different paths

[table-embed:1:1 Stream| 1:2 Payment path| 1:3 SegMetrics route| 1:4 Status| 2:1 GHL invoices (majority of revenue)| 2:2 Authorize.net gateway under GHL| 2:3 Native HighLevel connector, "Import Orders and Invoices" ON | 2:4 Works out of the box| 3:1 Lovable funnels | 3:2 Authorize.net direct; syncs contacts to GHL but creates no GHL invoice | 3:3 Custom API feed — POST /invoice | 3:4 Needs build| 4:1 TicketSpice | 4:2 Webconnex's own gateway| 4:3 Webhook → custom API feed| 4:4 Needs build (post Aug 24)|] Toggle decision: "Import Orders and Invoices" goes ON. SegMetrics recommends OFF only when also connecting payment providers directly — which is impossible here, so there is nothing to double-count against.

No-double-count constraint: the three streams are disjoint by construction (Lovable creates no GHL invoice). There is no technical guard enforcing this. If anyone later wires Lovable to generate GHL invoices, double-counting begins silently. Treat as a standing constraint.

Lovable gap — attribution intact, revenue orphaned

Because Lovable pushes contact updates to GHL, the buyer exists in GHL with the correct email, and SegMetrics will have their full click journey once the pixel is live. Only the invoice object is missing.

Fix: add a POST /invoice call alongside the existing "payment succeeded → update GHL contact" call already in the Lovable funnels. Small addition to a working integration, not a new build.

POST https://import.segmetrics.io/api/v1/{account_id}/{integration_id}/invoice { "id": "<authnet_transaction_id>", "email": "<checkout email>", "amount": 119900, "paid": 119900, "date_created": "2026-08-03 14:22:10", "items": [{ "name": "<offer>", "product_id": "<sku>", "amount": 119900 }] }

Build gotchas: Amounts in cents Line items must sum to the invoice total (SegMetrics' most common import error) Date format: YYYY-MM-DD HH:MM:SS, space-separated — not ISO 8601 with T/Z. Timezone misreads shift purchase dates across attribution windows Use the Authorize.net transaction ID as invoice id — reposting updates rather than duplicates, so retries are safe and it doubles as a reconciliation key Send email only, never contact_id — SegMetrics matches on the next sync

Session stitching (optional): to connect a purchase to the originating ad click, capture _segs.data.uid client-side at checkout and pass it through: GET https://track.segmetrics.io/identify?a={account_id}&uid={session_uid}&e={email} Without uid, SegMetrics derives one from the email — that creates a contact but does not stitch to the real browsing session. Whether this is worth building depends on Lovable's revenue share.

Data quality dependency

SegMetrics inherits GHL's data quality.

Blank source fields (~80% of contacts) — largely neutralized. SegMetrics does its own tracking via pixel, UTMs, and click data. It does not depend on GHL's source field. Phantom contacts — not neutralized. The 21 workflows auto-creating contacts from FB/IG comments will import as leads, inflating cost per lead, conversion rate, and lead value. Because Grow tier is priced per CRM contact, these also inflate the bill directly.

The contact governance program (86e2ejabk) is therefore upstream of trustworthy SegMetrics reporting, not a parallel workstream.

Constraints

Do not touch live GHL workflows or Bootcamp intake before Aug 24. SegMetrics' CSV historical import cannot be undone — uploaded data is not user-deletable. Do not use for exploratory imports during the trial. Server-side pixel requires SegMetrics support approval, 1–2 business days.

Related

Attribution rebuild: 86e1qn75n Contact data governance: 86e2ejabk

Build Plan

Not planned yet.

Accomplishment Report

Not built yet.

Compiled by Dispa · Top Rep Training