{ "slug": "revenue-tracking", "short_name": "Revenue tracking", "seo": { "title": "Revenue Tracking - Tie Every Dollar to Events", "description": "Track revenue as events, not spreadsheets. Tie every dollar to a user, session, and conversion flow. Privacy-first product revenue analytics with OpenPanel.", "keywords": [ "revenue analytics", "track revenue events", "product revenue tracking" ] }, "hero": { "heading": "Revenue tracking", "subheading": "Attach a dollar value to any action - purchase, upgrade, renewal - and see exactly how money flows through your product. No spreadsheets, no stitching.", "badges": [ "Revenue as events", "Tie revenue to users", "Real-time metrics", "No spreadsheets needed" ] }, "definition": { "title": "What is event-based revenue tracking?", "text": "Most teams track revenue in spreadsheets or payment dashboards that live completely separate from product analytics. You know *how much* you made, but not *why*.\n\nEvent-based revenue tracking flips this. Every revenue moment-a purchase, a plan upgrade, a subscription renewal-is captured as a **structured event** with a dollar amount, a user, and a session. That means you can answer questions like:\n\n- **Which signup source drives the most revenue?**\n- **How long after onboarding do users make their first purchase?**\n- **What features do high-LTV customers use that churning ones don't?**\n\nWith OpenPanel, you send a revenue event the same way you send any other event-just include an amount property. From there, revenue flows into **funnels**, **retention charts**, and **user profiles** alongside every other action.\n\nNo CSV exports. No stitching Stripe data to analytics data in a spreadsheet. Revenue becomes a first-class dimension of your product analytics, queryable and filterable like everything else.\n\nBecause OpenPanel is **privacy-first**, revenue data stays in your infrastructure (self-hosted) or in our cloud with no third-party sharing. You get the insights without the data-privacy trade-offs." }, "capabilities_section": { "title": "What you can measure", "intro": "From single purchases to recurring subscriptions, every revenue signal becomes a queryable event." }, "capabilities": [ { "title": "Revenue events with custom amounts", "description": "Attach a monetary value to any event. Track purchases, upgrades, add-ons, and refunds as structured data." }, { "title": "Revenue per user and session", "description": "Every revenue event is linked to a user and session, so you can see lifetime value, average order value, and revenue per visit." }, { "title": "Revenue in funnels", "description": "Add revenue events as funnel steps. See how much money flows through each stage-and how much you lose at every drop-off." }, { "title": "Revenue over time", "description": "Chart daily, weekly, or monthly revenue trends. Break down by plan, source, country, or any event property." }, { "title": "Segment by properties", "description": "Filter revenue by plan tier, payment method, campaign source, or any custom property you attach to your events." }, { "title": "Real-time ingestion", "description": "Revenue events appear in dashboards within seconds-no overnight processing or batch imports." } ], "screenshots": [ { "src": "/features/feature-revenue-1.webp", "alt": "OpenPanel dashboard overview with key metrics", "caption": "See revenue alongside engagement metrics in a single dashboard." }, { "src": "/features/feature-revenue-2.webp", "alt": "Funnel analysis showing conversion and revenue flow", "caption": "Trace the path from first visit to purchase and measure revenue at every step." }, { "src": "/features/feature-revenue-2.webp", "alt": "Retention chart for revenue cohorts", "caption": "Understand how revenue retention changes across weekly cohorts." } ], "how_it_works": { "title": "How revenue events work", "intro": "Three steps to go from payment callbacks to full revenue analytics.", "steps": [ { "title": "Send revenue events from your backend", "description": "When a purchase, upgrade, or renewal happens, fire an event with the amount and any relevant properties (plan, currency, item)." }, { "title": "Revenue ties to the user and session", "description": "OpenPanel links the revenue event to the user who triggered it and the session they were in. No manual joins-context is automatic." }, { "title": "Analyze in dashboards, funnels, and profiles", "description": "Revenue shows up everywhere: aggregate charts, conversion funnels, user timelines. Filter and break down by any property." } ] }, "use_cases": { "title": "Who uses revenue tracking", "intro": "Teams that want to connect product behavior to business outcomes.", "items": [ { "title": "SaaS product teams", "description": "Tie MRR and expansion revenue back to feature usage. Understand which product changes move the revenue needle." }, { "title": "E-commerce and marketplaces", "description": "Track order value per session, revenue by traffic source, and purchase funnels without a separate BI tool." }, { "title": "Growth and marketing", "description": "Measure campaign ROI by linking ad spend to actual revenue events. See which channels produce paying users, not just signups." } ] }, "related_features": [ { "slug": "event-tracking", "title": "Event tracking", "description": "Revenue events are built on the same event model. Learn how events work in OpenPanel." }, { "slug": "funnels", "title": "Funnels", "description": "Add revenue steps to conversion funnels and see where money drops off." }, { "slug": "session-tracking", "title": "Session tracking", "description": "Link revenue to the session that produced it-see the full journey from landing page to purchase." } ], "faqs": { "title": "Frequently asked questions", "intro": "Common questions about tracking revenue with OpenPanel.", "items": [ { "question": "How do I send a revenue event?", "answer": "Send a regular event (e.g. 'purchase_completed') with a numeric property for the amount. You can include additional properties like currency, plan, or item name. The same SDK or API you use for any other event works for revenue." }, { "question": "Can I track recurring subscription revenue?", "answer": "Yes. Fire a revenue event on each renewal or billing cycle. Over time you can chart MRR trends, retention by cohort, and expansion revenue-all from events." }, { "question": "Do I need to integrate my payment provider?", "answer": "No direct integration is needed. You send revenue events from your backend whenever a payment is confirmed (e.g. in a Stripe webhook handler). OpenPanel doesn't talk to Stripe-it just receives the event you send." }, { "question": "Can I track refunds?", "answer": "Yes. Send a refund event with a negative amount or a separate event name (e.g. 'refund_issued'). You can then subtract refunds from gross revenue in your dashboards." }, { "question": "Is revenue data shared with third parties?", "answer": "No. OpenPanel is privacy-first. Self-host to keep revenue data entirely in your infrastructure, or use our cloud where data is never shared with third parties." } ] }, "cta": { "label": "Start tracking revenue", "href": "https://dashboard.openpanel.dev/onboarding" } }