Testing pricing page copy stored in Storyblok, where do goals come from?
My hypothesis is that our pricing page underperforms because the value prop is feature-led instead of outcome-led. I want to test two framings against each other with trial signups as the success metric.
Blocks are already mapped to slots, so the content side is done. At my last job every test like this meant a dev ticket plus an anti-flicker snippet, so I am still calibrating what is self-serve here.
What I cannot figure out is the goal side. When I create the experiment it asks for a goal, but how does the experiment actually know a trial signup happened? Is there some event I need to be sending first
2 answers
You guessed it right at the end: the goal event must already be tracked before it shows up as a selectable goal in the experiment setup. The experiment does not invent the signal, it counts an event you are sending.
For trial signups you have two clean options:
croct.track('userSignedUp', {userId: user.id});or the generic goal event if you want a metric that is not tied to signup semantics:
croct.track('goalCompleted', {goalId: 'trial-signup'});Fire it wherever your signup success handler lives, deploy, confirm the event shows up in the dashboard, and then it becomes available as the experiment's primary goal. That deploy is the only dev involvement; after that, launching and iterating on tests is entirely in the experience editor.
One more thing worth doing: scope the experiment audience with
page's path is "/pricing"so only visitors who actually saw the pricing page enter the test. Otherwise your denominator includes people who never saw either variant.
Makes sense. We already send userSignedUp for another audience, so it was selectable right away. Test is live, thanks.
adding one thing since you mentioned being metric-driven: the results are Bayesian and unsampled, so you get probability-to-be-best rather than p-values, and you can drill down by device, audience, time window, and custom events. Worth checking the mobile split separately on pricing pages, in my experience the winning framing is not always the same on both.