Every Product Hunt week, someone on your team drafts fresh links:
utm_source=producthunt&utm_medium=social&utm_campaign=launch
Six months later you have fourteen campaigns named launch, launch2, and final_launch, and path analysis cannot tell which hero matched which spike.
Saved funnels fix the memory problem: a named list of path steps you expect plus UTM parameters you will attach when you promote those steps again. This guide is for founders who ship the same shape of campaign repeatedly, feature launch, annual promo, docs push, and want analytics that still parse in March.
It lives in the path funnel guides. Read path analysis home to pricing for why steps matter; here we focus on naming, versioning, and reuse.
What a saved funnel is (operationally)
A saved funnel is not a live A/B test. It is a campaign artifact:
- Name:
2026-q1-api-launch, notmy funnel. - Steps: ordered paths (
/blog/new-api,/docs/webhooks,/pricing,/register) or logical URLs you promote. - UTM defaults:
source,medium,campaign, optionalcontentper link variant. - Preview URLs: query strings copied into PH, newsletter, or Zapier.
When the next launch resembles the last, you clone and bump version (2026-q2-api-launch) instead of retyping UTMs from muscle memory.
Path analysis validates whether reality matched the saved steps; marketing pulse pins timestamp the week you used the combo.
Propose first, then edit (product philosophy)
Good funnel definitions start from observed converting paths, not from a whiteboard. If last quarter’s buyers went /blog → /pricing → paid, your saved funnel should encode that, not an imaginary /webinar step you never shipped.
KiboData Funnel studio follows that order: suggestions from recent analytics, then human edits. You are still responsible for aligning steps with actual site structure after you move pricing (reading RPV after pricing moves).
UTM fields: minimum viable dictionary
| Field | Repeat-launch rule |
|---|---|
utm_source | Platform or list (newsletter, producthunt, twitter) |
utm_medium | Channel type (email, social, cpc) |
utm_campaign | Initiative slug: unique per launch, stable across links in that launch |
utm_content | Hook, placement, or step (hero, t3-cta, docs-sidebar) |
Never reuse utm_campaign across unrelated launches. Do reuse structure: same medium/source pairing logic so year-over-year comparisons are imaginable.
Deep references: UTM for one-person teams, n8n and Zapier naming, newsletter redirects.
Matching saved steps to path analysis
After a launch pin (7 days):
- Pull top paths before signup or checkout.
- Compare to saved funnel steps, did evaluators skip
/docsyou assumed? - Update saved funnel for next time, or fix the site (missing nav link).
Saved funnels are hypotheses; path tables are receipts. Disagreement is valuable, it means your next saved version is more honest.
Blog and docs variants in one launch
One initiative often needs multiple entry URLs with shared utm_campaign:
utm_content=blog-announceon the feature post.utm_content=docs-ctaon/docs/webhooks.utm_content=ph-top-commenton pricing link in comments.
Same campaign slug ties revenue and paths in one row; content splits creative. See blog signup paths and docs before checkout for step-specific tactics.
Stripe and saved links
Paid launches should still use checkout metadata so webhooks match first-touch UTMs even when checkout is off-domain. Saved funnel URLs point at your pages first; pricing CTAs carry session UTMs into Checkout Session create when wired correctly.
Test one live purchase per saved combo before PH goes live, filter test mode from funnel counts (Stripe checkout guide).
Versioning when the site changes
When you rename /register to /signup or split pricing tiers:
- Bump funnel name version (
api-launch-v2). - Keep old saved rows for historical reference, do not overwrite labels you pinned on charts.
- Run
npm rundeploy checklist if saved funnels live in your DB (product detail: persisted per site).
Broken redirects strip UTMs; test links from email clients and shorteners monthly.
Automation without chaos
Zapier posting the same tagged link daily should use one utm_campaign per automation version. When you change template, increment campaign slug (daily-tip-v3) so spikes are attributable (marketing pulse guides).
Handoff between founder and contractor
Saved funnels are the contract when you hire a part-time marketer:
- They see which paths last launch assumed.
- They copy preview URLs instead of inventing tags.
- You compare pin labels to
utm_campaignin analytics without Slack archaeology.
Export is copy-paste today, still worth a shared doc row: funnel name, campaign slug, pin label, outcome sentence. Future launches inherit discipline even if the contractor rotates.
Product Hunt and newsletter: same funnel, different content
Product Hunt top comment, maker interview, and launch email should share one campaign slug with different utm_content values (ph-comment, ph-gallery, email-hero). Path analysis then shows whether PH visitors skipped your assumed blog step while email readers followed it, same initiative, different behavior, one row in campaign memory.
If PH traffic is pricing-first and newsletter traffic is blog-first, maintain two saved funnels under one initiative folder in your notes, not one flattened funnel that fits neither audience.
Gumroad and Lemon beside Stripe
Digital products on the same domain may checkout on Lemon while SaaS uses Stripe. Saved funnel steps still end at your pricing or buy page; webhook attribution must route to the right provider (Gumroad traffic-to-sales). One saved funnel per checkout surface avoids comparing Stripe RPV to Lemon paths in one misleading table.
When to retire a saved funnel
Retire (archive, do not delete) when:
- Pricing URL or tier structure changed and old links 404.
- Primary entry moved from blog to docs or vice versa for two consecutive launches.
- Campaign slug was polluted by accidental broadcast (wrong link in signature).
Keep retired rows so you remember why 2024-launch is not comparable to 2026-launch in year-over-year charts.
Spreadsheet fallback vs studio
A spreadsheet works until UTMs diverge from paths and nobody updates the sheet. Funnel studio’s value is tight coupling: steps you believe, tags you ship, saved beside the site that records sessions. Spreadsheets remain fine for budget and creative briefs, not for the canonical URL list.
Quarterly review (30 minutes)
- List saved funnels used in the last 90 days.
- For each, open path analysis for matching
utm_campaignwindow. - Mark fit (steps matched) or drift (skipped pages).
- Clone winners; archive losers; one site change max per drift item.
Repeat launches get cheaper when this review is calendarized, not heroic.
Anti-patterns
Saving a funnel before any conversions. Use defaults sparingly; wait for real paths when possible.
Different campaigns per tweet in the same launch. Fragmented data; use utm_content instead.
Saving UTMs but not steps. You forget which lander the campaign assumed.
Ignoring baseline pins. Saved funnel week vs prior week tells you if the combo worked.
Repeat launch checklist
- Clone last season’s saved funnel with new
utm_campaignslug - Update steps if pricing or docs paths moved
- Preview every URL in an incognito window, UTMs present
- Pin baseline + launch week on pulse
- Compare paths before conversion to saved steps
- Archive one-sentence retrospective on the saved funnel record
Where KiboData fits (no oversell)
Dashboard → Funnels is KiboData’s Funnel studio:
- Suggests step sequences from your site’s recent conversion paths (when data exists); otherwise shows a small default template until traffic proves otherwise.
- Editor for step labels/paths and UTM fields with link preview.
- Save stores named funnels per site (database-backed) so you can reopen them next launch.
Limitations worth stating plainly:
- Saved funnels do not auto-post to Product Hunt or Mailchimp, you copy URLs.
- Suggestions refresh from analytics ranges you select; they are not predictive ML scores.
- No built-in statistical comparison between two saved funnel versions, use pins, path tables, and RPV for judgment.
- Multi-domain or subdomain products need consistent tracking on each host; saved steps on
wwwdo not fix missing tracker ondocs.subdomain.
Funnel studio pairs with first-touch UTM capture on the tracker and webhook revenue on the dashboard; it does not replace ad platform reporting.
Hub and siblings
Topic hub: /blog/topics/path-funnels
Closing
Repeat launches should feel boring in a good way: same measurable path story, fresh campaign slug, updated pins, honest comparison to baseline. Save the combo once; ship quarterly without polluting analytics.