Executive Summary
I signed up for a JamLoop account, opened it, and went through the campaign creation flow myself, the same one a new self-serve customer would hit, to see where onboarding helps, where it goes quiet, and where it actively works against the user.
My six findings:
- A required field (Duration) gets silently invalidated in step 1 of the campaign wizard and doesn't block the user until step 5, after the campaign is fully built out. That's not a tour problem, it's an activation killer, and it's fixable without touching the guided tour at all.
- The tour shows features instead of outcomes, and, in my case, was unreliable: it vanished after two of five steps and never resumed.
- JamLoop already collects personalization data at signup that are not used later in the campaign creator wizard.
- The progress tracker flags an error long before it actually blocks anything.
- Full platform complexity (205 pre-selected apps, hundreds of interest groups) is exposed on a user's very first campaign.
- The only proactive interruption in the entire flow is a promotional modal rather than help.
Two patterns already work well and are worth building on: the contextual Campaign Goal panel and the live Line Estimate in the wizard.
Given a team of 4 PMs against 15 engineers, the highest-leverage fix is wiring, not building: fix the Details-error propagation first, route the existing AI-intake data into the Campaign Goal panel second, then replace the tour with task-anchored guidance in the wizard.
Introduction
In our conversation, you described several opportunities for improvement in JamLoop's guided tour. For example, that there was no need to highlight a Dashboard nav item if there was already a Dashboard labeled tab. I signed up and ran a real campaign creation flow end to end, the same one a new self-serve customer would hit, and traced where the flow actually helps, where it goes quiet, and where it actively works against the user.
This document walks the flow in the order a new user experiences it, then pulls out six findings, what's already working, and what I'd prioritize.
The flow
1. Landing on Create Campaign, a promotional modal appears first
Before I could see the page I came to use, a full-screen announcement ("CTV that works the way you do" / "Introducing Co-Managed CTV") loaded on top of it. I hadn't taken any action yet. This fired automatically, mid-task, on a screen whose entire purpose is "get the user to create their first campaign."
2. Campaign Goal selection, with a live contextual panel
Once the modal was dismissed, the actual page was clean: two goal options (Build Awareness, Drive Conversions), and a right-rail panel that updates with a description and "ideal use cases" depending on which goal is selected. This is a good pattern: contextual, tied to a real decision, not a fixed script.
3. A guided tour that vanished
Somewhere around this same point, the five-step guided tour also kicked in, spotlighting the Welcome modal and then the Campaigns nav item, steps 1/5 and 2/5. I can't tell you whether the tour started before or after the name error. Both happened close together and neither was distinct enough to anchor a clear order in my memory, which is itself telling: neither moment was memorable enough to place.
What I can say for certain: those two steps are passive, click Next or Skip, no real action asked of me. The dashboard sitting behind the Welcome modal was at zero impressions, zero spend, an empty state the tour walked past without acknowledging. Then, after step 2/5, the tour disappeared. It never came back. I never saw steps 3/5, 4/5, or 5/5, whatever they contained, and there was no way to restart the tour or pick it back up.
4. The campaign line wizard: six steps of real complexity
Duration is a required field here. I didn't fill it in.
205 apps and channels are already selected the moment I land on this screen, with a dense include/exclude list beneath them.
5. The progress tracker flags an error it never enforces
(Visible in the Inventory screenshot above: the red icon on "Details" persists unchanged through Audience and Geo & Time as well, shown below.)
From the Inventory step onward, "Details" shows a red error icon in the step tracker, because Duration was never set. But nothing stops me from continuing. I move through Inventory, Audience, and Geo & Time (four more screens, each with real decisions to make) with that error just sitting there, unexplained, in the background.
6. Geo & Time: default-everything
7. The wall: step 5 finally blocks me
Only here, on the fifth of six steps, does the product actually stop me: "Flight dates are unavailable until a line duration has been set." To fix it, I have to go back to step 1, the same step the tracker had been silently flagging as broken for four screens.
Six findings
1. The tour shows features instead of outcomes, and, in my case, was unreliable
The two tour steps I actually saw describe what a nav item is, not what to do with it. Step 2 tells me the Campaigns nav item is for managing campaigns, information the label already communicates, rather than walking me through actually creating one. Neither step asks the user to complete a real task: set a budget, pick inventory, name a campaign.
And in my case, it was unreliable. I only ever saw two of the five steps. After spotlighting the Campaigns nav item, the tour disappeared and never resumed, with no way to restart it. Whatever guidance steps 3 through 5 were meant to deliver, a real self-serve user may never see it. That's a bigger problem than the content being thin: the delivery mechanism itself doesn't reliably complete.
Fix: replace the fixed five-step sequence with guidance that appears while the user does their first real task, the campaign wizard itself is the natural home for this, not a modal that runs before it, and make sure whatever replaces it can't silently disappear mid-sequence without a way to pick it back up.
2. The product already has personalization data it isn't using
At signup, JamLoop's AI intake asks for the business's website, name, and a brief description, and uses it to suggest an account type. That's a real signal about who this user is and what they're trying to advertise. Nothing I saw downstream (not the tour, not the Campaign Goal panel, not the wizard) references it. The Build Awareness / Drive Conversions panel gives the same generic copy to every advertiser regardless of what they told the AI intake thirty seconds earlier.
The same all-or-nothing pattern shows up in how AI is offered on the Campaign Details screen. You can create the whole campaign using "Create with Agent," 100% AI, or you can build it yourself in the manual wizard. What you can't do is get AI help while completing the manual flow. Those are two disconnected experiences, not one assisted experience. A user who starts manually and gets stuck, on the audience or inventory complexity flagged in Finding 4, for example, has no way to lean on AI mid-flow. They either restart with the agent or push through alone.
This is the sharpest opportunity here. You don't need new instrumentation to personalize onboarding. You already collect the input. It's sitting unused two screens later.
From my own work: I've shipped this exact pattern twice. At Allianz, I added an intent quiz to travel-insurance onboarding ("what's your biggest concern for this trip?") that routed users to personalized product framing instead of a generic catalog, a 10% conversion lift. At Ligas Flex, I built a system that sent each player's match history to Claude, which categorized them and generated a tailored retention email instead of a generic blast, a 15% recovery rate versus the old approach.
3. The progress tracker doesn't mean what it looks like it means
A red error icon appears on "Details" starting at step 2 and stays there through step 4, with no explanation and no barrier to continuing. The actual consequence, a hard block, doesn't surface until step 5, four screens and probably several minutes of real targeting decisions later. A first-time self-serve user with no CS rep to catch this will build out inventory, audience, and scheduling, then hit a wall and have to retrace steps they thought were behind them.
Fix: either block forward progress until Details is genuinely complete, or make the red icon actionable. Clicking it should jump straight back to the missing field, immediately, at step 2, not after four more screens of sunk effort.
From my own work: at Allianz, the claim-status screen showed one line, "In Review," with no explanation, and customers were opening the app 4 to 5 times a day just to stare at it. I replaced it with plain-language copy explaining what "In Review" meant, a checklist of what we were doing, and an expected timeframe. Repeat same-day opens dropped 35%, and inbound support calls about claim status dropped 10%. Same root problem: a status indicator that shows a state without explaining it.
4. Full complexity is exposed on the very first campaign
205 apps and channels pre-selected. Interest group categories running into the hundreds (374 in Autos alone). Demographic breakdowns with a "select up to 2" constraint that's never explained. None of this is wrong to offer. It's what makes the platform genuinely capable. But it's all visible, at once, to someone who may be building their very first campaign with zero context for what "good" looks like.
Fix: this is a progressive disclosure problem, not a remove-features problem. A first campaign could default to a small, sane preset (the Top 200 package, broad demographics, no interest-group refinement) with an explicit "customize targeting" expansion for users who want it. That protects the platform's actual power while keeping the first screen simple, directly answering the concern about overbuilding without becoming a competitor with a confusing platform.
From my own work: at Allianz, I inherited an e-commerce catalog of about 50 products, most added for edge cases and broker requests, that was creating exactly this kind of cognitive overload. I ran cohort analysis to define buying personas, mapped each product to volume and strategic importance, and cut the active catalog down to a handful of SKUs matched to how people actually bought. Conversion went from 4% to 6%, and margins increased 5%.
5. The one interruption in the whole flow is a marketing message, not help
The only unprompted, full-screen interruption in this entire journey is the Co-Managed CTV promotional modal, and it fires on the Create Campaign screen before the user has done anything. That's the one place in the flow where JamLoop chose to interrupt the user unprompted, and right now it's spent on a marketing message rather than something that helps them finish their first campaign.
From my own work: at DIRECTV, a free trial offer was underperforming until I stopped treating it as a permanent, always-on promotion and started timing it to appear around major soccer match days, when signups already had real intent. Same offer, same product, no trial-length change, just better timing of who showed up: paid conversion rose 15%. The lesson applies directly here: an interruption's value depends entirely on whether it lands at a moment the user already cares.
6. A required field fails silently, and doesn't block you until four screens later
Duration is a required field in the wizard's first step, Details. Skip it, and nothing tells you, no inline error, no callout, nothing at the moment you move past it. The field goes silently invalid from that point on, but the product gives no signal until step 5, Flight Dates, where you finally hit: "Flight dates are unavailable until a line duration has been set." By then you've built out Inventory, Audience, and Geo & Time, real decisions, several minutes of work, all before the product tells you anything was wrong.
Fix: validate Duration the moment the user leaves the field, the same pattern JamLoop already uses for Campaign Name. Don't let a required field go silently invalid for four screens before saying anything.
From my own work: part of the checkout redesign I led at Ligas Flex was going through every error message and validation moment in the signup and payment flow and rewriting them for clarity, on top of reducing the fields required and fixing where errors surfaced. That project moved payment completion up 50%. That's the same shape as the Duration bug in this teardown: a validation problem sitting quietly underneath the more visible finding, not the headline itself, but part of what's actually costing conversions.
What's already working
- The contextual side panel on Campaign Goal selection: description and use cases tied to what the user is actually choosing, not a fixed script.
- The live Line Estimate: CPM, spend, and reach updating in real time in the wizard's right rail. This is exactly the kind of "show consequence of the choice you're making right now" pattern that's missing from the tour.
What I'd prioritize first
Wiring things that already exist, no need to build anything from scratch:
- 1 Fix the Details-error propagation (Findings 3 and 6). This is a bug-fix-shaped change, not a design project, and it's the one most likely to be silently costing self-serve activations right now.
- 2 Route AI-intake data into the Campaign Goal panel (Finding 2). The data already exists; this is a wiring problem, not a build-from-scratch problem.
- 3 Replace the five-step tour with task-anchored guidance in the wizard itself (Finding 1). Bigger lift, but the highest-leverage rebuild once 1 and 2 are done.
- 4 Progressive disclosure on Inventory/Audience (Finding 4) and reconsidering the promotional modal's placement (Finding 5) are real but lower-urgency, worth sequencing after the above.
Ideas worth testing
Everything above is diagnosis. This section is the start of a prescription: concrete test and product ideas, grounded in specific frameworks I've studied, tied directly to the six findings above. Treat this as a working list, not a roadmap.
A/B test ideas
From my own work: I've run pricing A/B tests before, including one in Mexico that failed outright, users dropped off when asked to declare trip costs for a new pricing model. I'd rather report that than a clean win, because it's the reason I care about guardrail metrics and pre-defined success criteria below: I've seen firsthand what sampling incorrectly, calling a test too early, or not pre-defining success looks like when it goes wrong.
1. Outcome-framed tour vs. feature-spotlight tour
Targets the five-step guided tour. Hypothesis: a tour narrating tasks ("build your first audience," "set your budget") instead of spotlighting nav items increases tour completion and Day-1 campaign-launch rate. Primary metric: percentage reaching wizard step 6. Guardrail: time-to-first-publish.
2. Assisted mode: AI suggestions inside the manual wizard
Targets the all-or-nothing split between "Create with Agent" and the fully manual wizard. Hypothesis: surfacing AI-suggested defaults inside the Inventory, Audience, and Geo steps, not as a separate mode, increases wizard completion rate versus the status quo. Primary metric: wizard completion. Guardrail: Line Estimate variance, to make sure AI defaults don't inflate projected spend. The gap here isn't motivation, the user already started the manual wizard, it's ability: lowering the effort required inside the existing flow should convert better than forcing a binary choice between full AI and full manual.
3. Non-actionable error icon: inline fix vs. silent badge
Targets the red error icon that appears from step 2 with no explanation. Hypothesis: converting the icon into a clickable tooltip that names the missing field and deep-links back to it reduces time-to-resolution and step-5 drop-off. Primary metric: percentage of users who fix Duration before step 5. Guardrail: step 2 through 4 abandonment, to make sure surfacing the error doesn't scare people off early.
4. Hard-block vs. soft-warn on Duration at step 1
Targets the silent Duration bug and the sunk-cost trap it creates through step 5. Hypothesis: inline, immediate validation on Duration at the point of entry, blocking progress until fixed, increases completed campaigns and decreases time-to-completion versus the current soft failure. Primary metric: campaign completion rate. Guardrail: step-1 exit rate, to test whether hard-blocking trades a late problem for an early one.
Growth ideas beyond testing
1. Turn the AI intake into a standing personalization layer
JamLoop already collects business website, name, and description at signup, then never uses it again downstream. This is a solved-but-abandoned opportunity: the data exists, but it was never connected to a solution. Piping AI-intake data into the Campaign Goal panel, the Inventory step's suggested package, and the wizard's default CPM tier costs no new data collection, only wiring, which makes it the highest-leverage move on this list.
2. Treat the Duration bug as a time-to-value failure, not a bug ticket
The Duration bug actively lengthens time-to-value by letting users invest in Inventory, Audience, and Geo before telling them anything is broken. It's worth treating as more than a one-off fix: a gap in the product is adding friction between signup and first success. Time-to-first-published-campaign should be a tracked, company-level dashboard metric today, independent of any single test, not a line item in a bug tracker.
3. Apply the "Top 200 at $26 CPM" default through a monetization lens
The pre-selected Top 200 package is a monetization decision set up as the default. Running willingness-to-pay interviews with 10 to 15 recent self-serve advertisers, asking what CPM and inventory scope they expected to pay for their first campaign, could inform two or three starter presets segmented by advertiser size or vertical, instead of one universal default.
4. Give the progress tracker a guardrail metric owner
The red error icon persisting for four screens with no explanation is worth asking about: is anyone tracking whether the progress indicator itself is trustworthy? The guardrail-metric discipline from experimentation applies outside experiments too: defining "non-actionable state duration," how long a status indicator shows a problem with no explanation or call to action, as a permanent product-health metric, reviewed the same way latency or error rate would be, would make that answer visible instead of assumed.
A note on scope
This was built from one live signup and one campaign creation flow, not a full audit. I don't have access to your funnel data, support ticket volume, or session recordings, which is exactly the data I'd want before finalizing priority order in the actual role. Treat the ordering above as a hypothesis, not a roadmap.