Product-Led Growth
You know which users activate. Now see which campaigns brought them.
Product analytics starts at signup. Ad platforms stop at the click. Spectacle connects the two: every signup, activation, and payment traced to the campaign that started it, across paid, AI, and organic.

The Problem
1,000 signups last month. Which channel do you scale?
Meta delivered the cheapest signups, so budget moved there. 2 quarters later, that cohort has the lowest trial-to-paid rate of any channel.
The Product Analytics Gap
Mixpanel and Amplitude start at signup. They show what users do in your product, never which ad, post, or search brought them to the door.
The Cheapest-Signup Trap
Ad platforms optimize for the event you give them. Give them signups and they find people who sign up, not people who pay.
The Day-1 Blind Spot
On conversion day, a €49 signup that renews for 3 years looks identical to one that churns in month 2. Ad reports stop at the conversion.
The Solution
One journey per user: first click to activation to renewal
Spectacle doesn't replace product analytics. It adds the layer Mixpanel and Amplitude weren't built for: where each user came from, and what they're worth.
Every Touchpoint Before the Signup
A user reads 3 blog posts, clicks a LinkedIn ad, and signs up 2 weeks later through Google. Every step lands on their timeline at signup.
Every visit captured: source, campaign, keyword, page
Anonymous research stitched to the user at signup
Paid, AI, and organic in one journey view
No lookback window, however long the trial runs
Your Product Events, Your Funnel
Signed up, activated, invited a teammate, upgraded, paid. Send the events you already track and Spectacle builds the funnel from them, split by channel at every step.
Funnels built from your own product events
Activation rate by channel, campaign, and keyword
Drop-off visible per step and per source
Events via the snippet, Segment, or the REST API
Revenue From Stripe, Not Estimates
Trial-to-paid, upgrades, refunds, and renewals flow in from Stripe and attach to the journey behind them. Revenue by campaign is money that cleared, not a platform estimate.
Payments and refunds imported automatically
Renewals credited to the original campaign
Cohort revenue (e.g., all signups from March) over time
4 attribution models on the same Stripe revenue
Company-Level Signups
5 people from 1 company sign up separately. Pass the company at signup and Spectacle merges them into 1 journey, so a team plan credits the whole path, not the last signup.
Multiple signups merged into 1 company journey
Self-serve and sales-assisted on 1 timeline
Team plans credited to the journey that started them
See which user brought the rest of the team
KPI
Numbers that end the "was it the ads or the product?" debate
Signups, activation, and revenue by source, all on the same first-party data.
1
funnel
Visit, signup, activation, paid: every step split by channel.
4
models
Linear, First Touch, Last Touch, U-Shaped, compared before a euro of budget moves.
lookback
The blog visit from 6 weeks before signup is still in the journey.
100
%
First-party
Your snippet, your data. No third-party cookies, no platform estimates.
Platform Features
Built for growth teams running a self-serve funnel
Every feature connects ad spend to activation and revenue, priced for growth-stage teams.
Cross-Channel Funnels
Visit → Signup → Activation → Paid, split by channel, campaign, keyword, and ad group.
- See drop-off per step and per source. The channel that fills the top of the funnel and the one that fills paid plans are rarely the same.
- Stop filing signups under "direct." Direct is a measurement gap, not a channel: the docs visit from 3 weeks ago is still in the journey.
- Cut reporting time from hours to minutes. Pull up any user and see their full journey in one view. No SQL, no exports, no warehouse joins.
Learn more
LinkedIn Company Attribution
Know which companies saw your LinkedIn ads before their team signed up.
- Justify thought-leader and awareness spend. Tie LinkedIn exposure to signups, activation, and Stripe revenue, not just clicks.
- Catch teams before the first signup. Surface companies engaging with your ads that haven't signed up yet. Your sales-assist reps get a warm list every morning.
- Stop cutting the channel that starts the journey. A $16M deal started with 1 organic LinkedIn post 4 months earlier. Last-click gave that post nothing.
Learn more
Visitor Reveal
Know which companies are evaluating you before anyone signs up.
- Turn anonymous traffic into named companies. Not sessions: companies, with industry, size, and fit signals attached. Lens sees them on visit 1.
- Spot the team behind the single signup. 1 user signs up; Lens shows 6 more visitors from the same company on pricing. That's a team plan waiting, not a free-tier user.
- Make sales-assist a system, not a Slack ping. Tag high-fit companies and push them to your CRM or Slack through webhooks the moment they show intent.
Learn more
Audience Hub
Push activated users and paying cohorts back to Meta and Google.
- Optimize campaigns for activation, not signups. Sync activated and paying users back to the platforms, so their algorithms learn from users who stick.
- Cut wasted spend on existing users. Auto-exclude paying customers from acquisition campaigns. Budget goes to net-new signups.
- Seed lookalikes from revenue, not signups. Build audiences from your highest-LTV cohorts, not from everyone who ever signed up.
Learn more
John Doe
CEO
Working with this team has transformed our business. Their attention to detail and commitment to excellence is unmatched. We saw a significant increase in our productivity and customer satisfaction.
52%
John Doe, CEO of Tech Innovations
52%
John's team at work

Integrations
Connects to your growth stack. CRM optional.
Stripe for revenue. Segment or the snippet for product events. Google, LinkedIn, Meta, TikTok, and Microsoft Ads for spend. HubSpot or Salesforce when sales joins.
FAQ
We already use Mixpanel. Is Spectacle redundant?
No. Mixpanel shows what users do after signup. Spectacle shows where they came from and what each source is worth. Mixpanel tells you 40% of free users activated; Spectacle tells you 60% of those came from 1 Google Ads campaign.
Can we run this without a CRM?
Yes. Spectacle runs on your website snippet, your product events, REST API, and Stripe. No Salesforce or HubSpot required. Not on Stripe? Send each payment as an event with its amount. If sales-assist joins later, connect the CRM and the same journeys pick up deal stages.
How do you handle freemium and free-trial users?
Identify the user at signup (an email is enough) and Spectacle follows them through the free tier, the upgrade, and every renewal. The campaign that brought them in stays attached the whole way.
How is this different from UTM tracking in GA4?
GA4 counts sessions. Spectacle follows users. GA4 tells you how many sessions a campaign sent; Spectacle tells you how many of those visitors signed up, activated, paid, and what they're worth 6 months later.
Which attribution model should a self-serve funnel use?
Compare all 4 on the same revenue. First Touch shows which channel starts signups; U-Shaped gives 40% each to the first visit and the signup visit, and 20% to everything between. Switch models per report; the revenue underneath doesn't change.













