Revenue Tracking & Attribution
Connect Stripe or send revenue events, and see which accounts and marketing sources actually drive revenue.
Logspot ties every payment back to the visitor who made it and the marketing source that drove them — so you can answer "which channels and which accounts actually make money," not just which ones get traffic. Revenue flows into the same dashboards as the rest of your analytics; there's no CSV export and no stitching Stripe data to your product data by hand.
Revenue is account-first: in B2B a payment is an account event, so Logspot rolls revenue up to the company by default, with the individual user as a drill-down.
Revenue attribution is available on the Essentials plan and up.
Send Revenue Events
This is the way to record revenue today. Call revenue from the browser or your backend:
Logspot.revenue(49.99, { currency: 'USD', plan: 'pro' });The amount is in major units (dollars, not cents). Any extra properties (plan, product, and so on) are stored on the event and available for breakdowns. Because a revenue event flows through the normal pipeline, it is automatically linked to the user, the account, and the marketing source, with no extra setup.
Connect Stripe
Coming soon. The read-only Stripe connection is rolling out. Contact us to get early access. Until it reaches your account, record revenue by sending events (above).
Go to Project Settings → Revenue and choose Connect Stripe. You approve a read-only connection on Stripe's own consent screen, and Logspot reads your payments from then on. There is no webhook for you to build or maintain.
The connection is strictly read-only. Logspot requests seven read permissions and no write permissions, so it cannot create, modify, refund, or cancel anything in your Stripe account. Disconnect at any time from the same page and ingestion stops immediately.
For attribution to work, pass the visitor's Logspot ID into your Stripe Checkout session metadata so Logspot can link the payment to the session that earned it:
const session = await stripe.checkout.sessions.create({
// ...your existing checkout config...
metadata: {
logspot_anonymous_id: anonymousId, // from Logspot.getAnonymousId()
},
});Read logspot_anonymous_id from the Logspot.getAnonymousId() value on the client (or the lgspt_anonymous_id cookie) and attach it when you create the session. That single line is the only thing you need to get right. Optionally also pass logspot_identity_id, logspot_session_id, or logspot_group_id.
If a payment arrives without metadata, Logspot still links it to an account by matching the Stripe customer's email domain to a company. Refunds are tracked automatically and net against the original sale.
Currency
Each payment is stored in its original currency. Set your project's display currency under Project Settings → Revenue, and your organization's reporting currency for cross-project account rollups under Settings → Organization → Currency. Logspot does not convert between currencies; revenue reports are scoped to the reporting currency.
Attribution
Every payment is attributed to both:
- First touch — the marketing source that originally acquired the user or account. Set once and never overwritten.
- Last touch — the source of the session that converted.
Both are captured at the identity and the account level, and the attribution that was true at the time of the payment is frozen onto it — so a report you run months later still shows the source that earned the sale.
To make first-touch durable across visits, enable sticky campaigns in the SDK.
Reports
The Revenue dashboard leads with the account view:
- Top accounts by revenue
- Revenue by first-touch source and by last-touch source
- Revenue over time, by channel, and by product/plan
- ARPA (per account), ARPU (per user), AOV (per order), and LTV cohorts
Company revenue also appears on each company's detail page, and the per-user revenue tile on profiles.