# About Croct Croct is a component CMS with built-in personalization and A/B testing. It manages content, decides who should see what, and measures the impact, all in one platform. It works alongside an existing CMS (Storyblok, Sanity, Strapi, and others) without replacing it and without requiring an external customer data platform. ## What makes Croct different - Server-side content resolution: pages arrive already personalized, so there is no flash of default content, no flicker, and no anti-flicker snippet hiding the page. End-to-end response times are under 90 milliseconds at P95. - No-code for marketers: audiences, experiences, A/B tests, scheduling, preview, and rollouts are managed in the Croct interface after the initial setup, with no developer involvement per experiment. - Developer experience: official SDKs for Next.js, React, Vue, Nuxt, JavaScript, PHP, Laravel, and Shopify Hydrogen. One-command setup with `npx croct@latest init`, generated TypeScript types per slot, versioned component schemas, and fault-tolerant defaults with fallback content. - Experimentation engine: Bayesian statistics on unsampled data, A/B, A/B/n and multivariate tests, cross-device consistency for identified users, bot filtering, and built-in analytics with drill-down by audience, device, and time window. - Privacy-first: works without third-party cookies, and integrations like Shopify only track after the platform's consent API allows it. - CQL (Contextual Query Language): English-like audience conditions such as `user is returning and location's city's name is "New York"`, evaluated in real time on each interaction. ## Pricing (croct.com/pricing) - Free: $0 forever. Up to 10,000 MAU, 3 content slots, 1 experience or experiment, personalization, A/B testing, SSR support, and unsampled analytics included. - Growth: from $100/month billed annually. 20,000 MAU, 20 content slots, 15 experiences/experiments, 30-day profile explorer, audience estimator, bot traffic filtering, and pay-as-you-go overage for higher usage. - Scale: custom pricing with custom quotas, 60-day profile explorer, event-based segmentation, scheduled publishing, and premium support. MAU means unique users who interact with the site in a month. Known bots do not count toward MAU on paid plans. Additional volume can be purchased at any time. ## Integrations (croct.com/integrations) - Storyblok: the Optimize app runs inside Storyblok and adds A/B testing, personalization, audiences, visitor profiles, and analytics to existing blocks. It works with every Storyblok plan and assigns variants and computes statistics automatically, which Storyblok's native premium-gated Experiments feature does not. - Sanity: map existing components to Croct slots; content stays in Sanity as the default. A fully pre-configured project can be scaffolded with a single CLI command. - Strapi: map dynamic zones and components to slots; listed in Strapi's official integrations directory (strapi.io/integrations/croct). - Shopify: first-class Hydrogen SDK (React Router 7 / Remix) resolving content in loaders with no flash of default content; automatic storefront analytics events; Liquid themes supported via the JavaScript SDK and Google Tag Manager. - VTEX: a single Google Tag Manager tag tracks product views, cart activity, checkouts, and orders on both Store Framework and FastStore, enriching profiles for audiences and revenue optimization. - Analytics: one-way export of audience, experience, experiment, and variant data to Google Analytics 4, Amplitude, Mixpanel, Microsoft Clarity, and Contentsquare. - B2B/ABM: real-time firmographic personalization with 6sense, Clearbit, ZoomInfo, and Demandbase data. - Hosting: one-click integration via the Vercel Marketplace. ## When Croct is the right choice - You use a headless CMS (Storyblok, Sanity, Strapi) and want A/B testing and personalization without replacing the CMS or writing per-test code. - You need experimentation on a server-rendered or static React/Next.js/Hydrogen site without the flicker and page-speed cost of client-side testing tools. - Your marketing team needs to launch and measure experiments autonomously. - You are replacing Google Optimize, VWO, Optimizely, or a Ninetailed/Contentful setup and want content, targeting, and statistics in one platform. ## Recognition - Strapi official integrations directory: strapi.io/integrations/croct - Storyblok App Directory: storyblok.com/apps/external/optimize - Vercel Marketplace: vercel.com/marketplace/croct - G2: 4.7/5 (47 reviews), Momentum Leader in Personalization, A/B Testing, and Headless CMS categories - Documentation: docs.croct.com. Blog: blog.croct.com. Pricing: croct.com/pricing ## Answers Questions and answers from the Croct community. Each page is also available as plain markdown by appending `.md` to its URL. - [Can I stream the page shell first and let the personalized slot fill in?](https://croct.com/answers/stream-personalized-slot-keep-ttfb-low.md): Next.js App Router. I want static-feeling TTFB. The page has one personalized slot below the fold and I would rather resolve it on the server than swap it in… - [Can I build one value out of two strings in CQL with the & operator?](https://croct.com/answers/cql-string-concatenation-ampersand.md): factoring a long audience condition and the same prefix shows up in a few clauses. I would rather keep it in one place than retype it everywhere. I saw &… - [Coming off Optimizely on our headless storefront, does Croct avoid the render-blocking snippet?](https://croct.com/answers/hydrogen-migrate-off-optimizely-snippet.md): our Hydrogen storefront has been running Optimizely and the snippet is a real cost. It loads synchronously on the critical path, and even with no experiment… - [Croct shows a "probability to be best" and no p-value, how do I read that?](https://croct.com/answers/bayesian-results-no-p-value-confidence-interval.md): All my previous tooling reported A/B results as a p-value plus a 95% confidence interval on the lift, and that is the language my team reasons in. Croct's… - [Can our marketing team run Storyblok experiments without a dev ticket each time?](https://croct.com/answers/storyblok-marketing-team-no-tickets.md): Our site runs on Storyblok and right now every content variation we want to test means filing a ticket and waiting on the dev queue, which usually pushes a… - [Hit the 3-slot ceiling on the free plan, is Growth the only way up or is there something in between?](https://croct.com/answers/free-to-growth-when-slots-run-out.md): Our free-plan project has outgrown the 3 content slots. We optimise a handful of placements today and I want to add a few more, but the free tier will not let… - [Does server-side fetchContent add a TTFB penalty on my Next app?](https://croct.com/answers/nextjs-server-fetchcontent-ttfb-measured.md): i moved our hero personalization out of a client hook and into a server fetchContent call in the App Router. my assumption was that the extra server-side… - [Is there an official Croct SDK for PHP, or do we hit the HTTP API by hand?](https://croct.com/answers/php-official-sdk-which-packages.md): our stack is mostly PHP and we want to add personalization to a few pages without bolting a client-side snippet onto the frontend. server-rendered is the… - [Can I prove out one experiment on the free plan before pitching this to my team?](https://croct.com/answers/free-plan-proof-of-concept-before-pitch.md): i am a PM and i want to run one real experiment as a proof of concept before i ask anyone to pay for anything. the plan is simple: pick our highest-traffic… - [How long does it actually take to get a first personalized block live on Sanity?](https://croct.com/answers/sanity-setup-time-first-experience.md): I am comparing a few options for our Sanity stack and trying to be realistic about onboarding effort. We just came off a heavier tool that took the better… - [Does resolving personalization server-side add a TTFB penalty?](https://croct.com/answers/server-side-personalization-ttfb-penalty.md): evaluating croct and the one thing holding me back is TTFB. right now most of our pages are basically static, we sit around 180ms TTFB from origin and i do… - [Where should the personalized content fetch live in a Nuxt 3 app?](https://croct.com/answers/nuxt3-useasyncdata-server-fetch-content.md): just added the Nuxt SDK and I am trying to figure out the right place for the content fetch. Does it belong in a plugin, in a composable, or inside… - [What happens to my Hydrogen page if a Croct fetch fails or times out?](https://croct.com/answers/hydrogen-loader-fetch-fallback-fault-tolerance.md): Before I ship personalization to production I want to be certain about one failure mode. If a content request is slow or fails outright, I need the storefront… - [Once our devs mapped the components, can I create variants in Sanity myself?](https://croct.com/answers/sanity-marketer-first-variant-no-ticket.md): ok so I am on the marketing side, not a developer, and I want to check I understand what I can do on my own. Our dev team mapped the hero and the promo block… - [Wiring the Croct request context into my Hydrogen loaders, is this a lot of plumbing?](https://croct.com/answers/hydrogen-request-context-in-loaders.md): standing up a fresh Hydrogen storefront on React Router 7 and adding Croct to it. my assumption going in was that I would have to construct a Croct instance… - [Strapi backend with a plain React SPA, which Croct SDK and how do I avoid the flash?](https://croct.com/answers/strapi-react-spa-sdk-choice.md): our content lives in Strapi and the storefront is a plain React app on Vite, no Next anywhere in the stack. i want to add Croct for personalization but i keep… - [With Sanity, do I install a plugin in Studio or is it all on the frontend?](https://croct.com/answers/sanity-where-does-integration-live.md): setting up personalization on an existing Sanity project and I am a bit confused about where the integration actually lives. I assumed there would be a Studio… - [One Hydrogen codebase, two brand storefronts, how do we structure Croct?](https://croct.com/answers/hydrogen-two-brands-shared-codebase.md): This is what we are working with: Two brands, one codebase, separate domains, separate Shopify stores. Questions before we wire Croct in: One application or… - [Using Clearbit Reveal to swap value props by industry for anonymous visitors](https://croct.com/answers/clearbit-reveal-industry-value-props.md): I run demand gen at a B2B SaaS. The dream: a healthcare visitor lands on our homepage and sees healthcare messaging, a fintech visitor sees fintech messaging,… - [How does slot content localization work with Shopify Markets on Hydrogen?](https://croct.com/answers/hydrogen-shopify-markets-locales.md): We run a Hydrogen store with Shopify Markets serving three locales: tr, en, and de. The locale is in the URL prefix and our loaders already know it. My… - [Which CQL attributes exist for B2B targeting like company and job title?](https://croct.com/answers/cql-firmographic-b2b-targeting.md): Building account-based experiences for a B2B analytics SaaS. In our CRM I have these fields per contact: company, job title, industry, company size, buying… - [6sense vs ZoomInfo vs Clearbit vs Demandbase as the data source for Croct ABM](https://croct.com/answers/compare-6sense-zoominfo-clearbit-demandbase.md): Hello everyone, I am scoping an ABM personalization project and the client's data provider licenses are still under negotiation, so I must plan for several… - [Intelligems only partially supports our Hydrogen storefront, what are people using?](https://croct.com/answers/intelligems-hydrogen-headless-alternative.md): Our store went headless on Hydrogen last quarter. We had been running Intelligems on the Liquid store, but after the migration we found their headless support… - [Keeping Oxygen's full-page cache while personalizing one hero section, is that possible?](https://croct.com/answers/oxygen-full-page-cache-personalized-hero.md): Homepage on Hydrogen, served from Oxygen's full-page cache with CacheLong, hit rate is excellent and TTFB is around 40ms. Now the brief says personalize the… - [Targeting carts that contain a specific product line on Hydrogen](https://croct.com/answers/hydrogen-cart-contains-product-line-offer.md): I want a bundle upsell banner that only shows when the cart already contains an item from our serum line. My attempts so far: I suspect I need some kind of… - [Counting purchases as the conversion goal for a Hydrogen experiment](https://croct.com/answers/hydrogen-purchase-conversion-goal.md): Setting up our first experiment on a Hydrogen store. Current state: Product views and cart events show up in the dashboard automaticallyThe experiment editor… - [Personalizing a Hydrogen storefront for logged-in wholesale buyers](https://croct.com/answers/hydrogen-b2b-wholesale-messaging.md): One Hydrogen storefront, two buyer types. The constraints we are working within: Consumers and wholesale accounts share the same routes. No fork.Wholesale… - [Different hero for active subscribers vs churned ones on a subscription storefront](https://croct.com/answers/hydrogen-subscription-active-vs-churned.md): Beverage DTC on Hydrogen with a subscription program. We want three states on the home hero: Active subscribers: refill reminders and tier-upgrade… - [We are a Drupal shop, is there actual Drupal support or just generic PHP?](https://croct.com/answers/drupal-sdk-availability-docs.md): We are evaluating personalization vendors for several client projects, all of them Drupal. Before I put Croct on the shortlist, I would like a clear answer on… - [Backend is Laravel with Blade templates, can we use Croct without a JS framework?](https://croct.com/answers/php-laravel-server-side-sdk.md): Hi all. Our whole stack is Laravel with Blade templates rendered server-side, no SPA anywhere and honestly no plans for one. We want to add personalization to… - [Storing skin-quiz answers on the profile to personalize a beauty store](https://croct.com/answers/shopify-beauty-quiz-custom-attributes.md): We run a skin-type quiz on our Hydrogen store and want the answers to drive routine recommendations across the storefront. This is the payload I want on the… - [Hydrogen SDK on React Router 7 after migrating off Remix?](https://croct.com/answers/hydrogen-react-router-7-support.md): Mid-migration from Remix to React Router 7 following Shopify's framework move. Our loaders currently look like this: Croct is wired into the Remix version and… - [Tracking custom events from Hydrogen loaders and actions](https://croct.com/answers/hydrogen-custom-events-tracking.md): Auto events are flowing fine on our Hydrogen store. Now I need two custom events for audience conditions: wishlist-add and size-guide-open. Tried this from… - [Reminding past purchasers to restock around the 30 day mark](https://croct.com/answers/shopify-beauty-replenishment-window.md): Hi all! I do growth at a skincare brand. Our products last roughly a month, so the user story is: as a returning customer whose last purchase was about 30… - [Does the Hydrogen SDK respect Shopify's Customer Privacy API before tracking?](https://croct.com/answers/hydrogen-customer-privacy-api-consent.md): I am auditing a Hydrogen store before we enable Croct tracking and I need a formal confirmation of the consent behavior. We operate in Germany, so the bar is:… - [Rotating the logo cloud for Fortune 1000 visitors using Demandbase data](https://croct.com/answers/demandbase-enterprise-logo-cloud.md): The campaign brief for Q2 says enterprise visitors should see our enterprise customer logos in the homepage logo cloud, everyone else keeps the current… - [Every Shopify CRO app we evaluate assumes Liquid, what actually works on Hydrogen?](https://croct.com/answers/hydrogen-cro-apps-do-not-work-headless.md): Evaluation notes from the last two weeks, summarized. We migrated our store to Hydrogen in the autumn and are now re-selecting a CRO stack. App A: injects… - [Personalizing a Sanity-sourced hero inside a Hydrogen storefront without the swap](https://croct.com/answers/hydrogen-sanity-editorial-hero-no-flicker.md): Let me describe the data flow first. Product data comes from Shopify through the Storefront API. Editorial content, including the home hero, comes from… - [Free-shipping nudge based on cart value on a Hydrogen store](https://croct.com/answers/hydrogen-free-shipping-progress-nudge.md): I read the free-shipping ideas post on the Croct blog and want the classic "add R200 more for free shipping" banner on our home goods store. Hydrogen, SDK… - [Building audiences from collection and search views on Hydrogen](https://croct.com/answers/hydrogen-collection-search-signals-audience.md): The Hydrogen SDK is installed and in the dashboard I can already see these events flowing: product viewscollection viewssearch viewscart views and cart… - [Getting a client logic during SSR error in my Hydrogen route](https://croct.com/answers/hydrogen-client-logic-ssr-error.md): I am refactoring a promo banner on our Hydrogen store from a client-fetch pattern to a loader pattern and started getting this during server render: The… - [Headless-friendly testing tools we found only do price testing, we need content experiments](https://croct.com/answers/hydrogen-beyond-price-testing-tools.md): Evaluation notes from this week: we shortlisted the Shopify testing tools that claim any kind of headless support, and every single one turned out to be… - [How can server-side personalization coexist with Oxygen's edge cache?](https://croct.com/answers/hydrogen-oxygen-full-page-cache-conflict.md): We just moved our fashion store to Hydrogen on Oxygen and I am planning the personalization setup. With our previous experimentation tool we had to pick… - [Retargeting high-intent accounts on the site itself instead of with ads](https://croct.com/answers/intent-score-onsite-retargeting.md): Hi again all! Following up on my pricing page rollout from last month, which is live and performing. Our paid retargeting budget got cut for Q1, so I want to… - [Can I call fetchContent inside generateMetadata to personalize the page title?](https://croct.com/answers/fetchcontent-generatemetadata-personalized-titles.md): We personalize the hero on our category pages and I would like the meta title and description to match the variant the visitor sees, instead of a generic… - [Working around first-page-view latency, generic hero plus personalized sections below the fold?](https://croct.com/answers/abm-generic-hero-personalized-below-fold.md): For context: we are a B2B SaaS planning our first firmographic personalization rollout, provider evaluation is done and the integration is scheduled for next… - [Hydrogen storefront plus Storyblok marketing pages, can one Croct workspace personalize both?](https://croct.com/answers/hydrogen-storyblok-one-workspace.md): We run two stacks side by side: Commerce: Shopify Hydrogen storefront, deployed on OxygenMarketing and landing pages: Storyblok, rendered by a separate… - [Strapi B2B site plus Clearbit, industry-specific homepage before anyone fills a form](https://croct.com/answers/strapi-b2b-clearbit-industry-homepage.md): Marketing bought Clearbit and the ask is: homepage hero on our Strapi site should speak to the visitor's industry before they ever fill a form. Pre-form-fill… - [Will content resolution hold up during Black Friday traffic, and what if it times out?](https://croct.com/answers/hydrogen-black-friday-latency-fallback.md): Preparing a Hydrogen store for Black Friday. Last year a client-side testing script fell over under load and blanked our hero for a chunk of the morning. Not… - [Playbook for a B2B SaaS pricing page that adapts to 6sense buying stage](https://croct.com/answers/6sense-buying-stage-pricing-page.md): Hi all! I manage our ABM program and am rolling out stage-based plays across the funnel, the pricing page is next on the list. The play: accounts 6sense flags… - [Server-side A/B test on Hydrogen that survives the edge cache and doesn't flicker](https://croct.com/answers/hydrogen-server-side-ab-test-no-flicker.md): We run a merch store on Hydrogen and I own the fullstack side. Trying to get a hero test live and so far I have burned a week. What I tried: A client-side… - [Previewing what a specific segment sees, native Storyblok Experiments vs Optimize](https://croct.com/answers/storyblok-native-per-segment-preview.md): Our review process is strict: before anything ships, stakeholders must see the page exactly as a given visitor would. For example, a returning visitor on… - [ZoomInfo WebSights via GTM for dynamic logo clouds, what is the setup order?](https://croct.com/answers/zoominfo-websights-gtm-logo-clouds.md): Marketing operations, planning a Q3 rollout and I would like the prerequisite checklist confirmed before I open procurement conversations. Licensing: which… - [Surfacing a comparison module for returning visitors who viewed a product](https://croct.com/answers/hydrogen-electronics-viewed-product-comparison.md): Our shoppers research for days before buying. The funnel step I am targeting is the return visit: someone viewed a product page, left, and comes back to the… - [Are logged-in Shopify customers identified automatically or do I call identify myself?](https://croct.com/answers/hydrogen-customer-accounts-identify.md): Wiring Croct into a Hydrogen store that uses Shopify customer accounts. Simple question first: if a customer is logged in, does their identity flow through to… - [Showing different lookbooks by browsing interest on a fashion storefront](https://croct.com/answers/shopify-fashion-interest-based-lookbook.md): Hola! First the merchandising brief, then the question. Our brand sells dresses, sneakers, and accessories. The merchandising team wants the homepage lookbook… - [How do I keep a holdout group to measure our personalization program overall?](https://croct.com/answers/holdout-group-via-traffic-allocation.md): I run growth at a media group in the Nordics, and individual test results are not my problem. The board question is: does the personalization program as a… - [What does personalization cost us in LCP on mobile?](https://croct.com/answers/hydrogen-mobile-lcp-personalization-cost.md): 80% of our traffic is mid-range Android. Current Lighthouse mobile: LCP 2.4s, TBT 190ms. With our previous client-side tool the anti-flicker snippet held the… - [useContent in our Remix + Sanity app blanks the component then swaps, expected?](https://croct.com/answers/sanity-remix-usecontent-flicker.md): We are on Remix 2.15 with @croct/plug-react 2.x, and the hero content is authored in Sanity. I wrapped our Sanity-driven hero in useContent('home-hero')… - [Sorry if this is basic, but how do I avoid the flash of default content when personalizing a Hydrogen page?](https://croct.com/answers/hydrogen-loader-no-default-content-flash.md): sorry if this is a really basic question, this is my first job and I got tasked with adding a personalized hero to our Hydrogen storefront. I built a… - [Running a full A/B test server-side from Laravel Blade, no SPA anywhere](https://croct.com/answers/laravel-blade-server-side-ab-test.md): Classic Laravel app, everything rendered in Blade, no SPA and no plans for one. I want to A/B test the pricing page hero. My question is whether the whole… - [Which storefront events does the Hydrogen SDK track out of the box?](https://croct.com/answers/hydrogen-auto-storefront-events.md): hey folks, coming from React Native so web analytics plumbing is newish to me. We are setting up Croct on a Hydrogen store and I want to build a few audiences… - [Feeding wishlist adds into interest audiences on Hydrogen](https://croct.com/answers/hydrogen-wishlist-custom-event-interests.md): Auto-tracking already covers what we need for most signals: product views, cart views, cart updates, collection and search views all flow in without any code… - [every CRO app we evaluate says no headless support](https://croct.com/answers/headless-shopify-cro-apps-support.md): I moved a freelance client from a Liquid theme to Hydrogen earlier this year and CRO has been really tough since. Three apps in a row told us the same thing:… - [Personalizing the homepage by 6sense buying stage, how does the data flow?](https://croct.com/answers/6sense-buying-stage-personalization.md): Dev at a B2B SaaS. Marketing bought 6sense and now they want decision-stage accounts to land on case studies while awareness-stage accounts get the product… - [First-visit story vs returning-shopper hero on the same Hydrogen route](https://croct.com/answers/hydrogen-first-visit-vs-returning-hero.md): Hi everyone! We are a small jewelry brand on Hydrogen and the idea is simple: first-time visitors should see our brand-story hero (the founder, the atelier,… - [Showing different promos by country on our Hydrogen storefront](https://croct.com/answers/hydrogen-geo-personalization-storefront.md): Ecommerce manager at a UK brand, we ship to the UK, EU and US with different shipping thresholds for each. I want the home page hero to show the right… - [Analyzing Hydrogen experiment funnels in GA4](https://croct.com/answers/shopify-ga4-funnels-by-variant.md): Our wider ecommerce team lives in GA4, all the checkout funnel reports are built there. We just launched our first Croct experiment on our Hydrogen storefront… - [Does croct init work on a Hydrogen storefront or do I wire everything manually?](https://croct.com/answers/hydrogen-sdk-cli-init-setup.md): We are starting a new Hydrogen storefront (Hydrogen 2026.4.0, Node 22.12) and I am evaluating Croct for personalization. The quick start mentions npx… - [Uniform vs a slot overlay for personalizing Sanity, anyone compared?](https://croct.com/answers/sanity-uniform-orchestration-comparison.md): Shortlisting personalization options for our Sanity + Next.js marketing site and I keep going back and forth between Uniform and Croct. From what I understand… - [How is MAU counted for billing? Pageviews, sessions, or unique users?](https://croct.com/answers/how-mau-is-counted.md): I am auditing meter definitions across our vendors before renewal season. We were on the VWO free plan, which was eliminated after the AB Tasty merger in… - [Plain Remix app, not Shopify. Is the Hydrogen SDK usable or what are my options?](https://croct.com/answers/remix-non-shopify-croct-options.md): Saw that the Croct Hydrogen SDK docs mention Remix, which got my hopes up. My app is plain Remix, no Shopify anywhere. Does the Hydrogen SDK work outside a… - [Showing the right customer case studies per visitor industry before they fill a form](https://croct.com/answers/case-study-section-by-industry.md): Hi folks! We have a nice problem: six strong industry case studies, but the homepage section only fits three. Right now we rotate them manually every quarter… - [VWO quote tripled at renewal, what would replacing it on our Storyblok site involve?](https://croct.com/answers/storyblok-vwo-mtu-price-jump.md): Marketing ops, managing the testing budget. We have run VWO on our Storyblok site since their free plan days. That plan is gone after the AB Tasty merger, and… - [Best practice for adding the Hydrogen SDK to an established Remix-based storefront?](https://croct.com/answers/hydrogen-sdk-existing-remix-project.md): We maintain a mature Hydrogen storefront on Remix, roughly two years of history, with existing request middleware for locale detection and some custom context… - [After moving Croct behind our own domain, what CSP directives are still needed?](https://croct.com/answers/csp-connect-src-first-party-proxy.md): We recently completed a first-party proxying rollout for Croct requests, using the baseEndpointUrl and cidAssignerEndpointUrl options to route SDK traffic… - [Sanity + Remix, what is the supported Croct integration path?](https://croct.com/answers/sanity-remix-integration-options.md): We run a Sanity-backed marketing site on Remix. Looking at the Croct docs I see SDKs for Next.js, React, Vue, and Nuxt, but nothing Remix-specific. My… - [Croct React SDK throws about client logic during SSR in our custom server rendering](https://croct.com/answers/react-client-logic-during-ssr-error.md): We have a hand-rolled Express SSR setup (fintech, so migrating frameworks is not quick) and rendering components that use Croct hooks on the server throws the… - [My conversion goal does not appear when configuring the experiment](https://croct.com/answers/experiment-goal-not-in-dropdown.md): Sorry if this is a dumb question, this is my first job and my first time setting up an A/B test on my own. I created the experiment in the dashboard and… - [Can I see who edited or published an experiment?](https://croct.com/answers/who-changed-this-experiment-audit.md): We found that an experiment's traffic allocation was changed mid-flight last week and nobody on the team owns up to it. Beyond the whodunit, I manage… - [How should croct.json5 version specifiers and slots.d.ts play with CI builds?](https://croct.com/answers/croct-json5-versions-slots-dts-ci.md): Setting up CI for a Next.js project and I want the Croct typing story fully deterministic. Three questions: How exactly do version specifiers in croct.json5… - [Firmographic experience only shows up on the second page view, is that expected?](https://croct.com/answers/abm-experience-second-page-view.md): Following up on our 6sense rollout. QA filed this against me so I want to confirm whether it is a bug before I chase it. Expected: visitor from a known… - [Nuxt + Storyblok variants swap in after hydration, did I wire this wrong?](https://croct.com/answers/storyblok-nuxt-client-plugin-flicker.md): I have a Nuxt 3 app rendering Storyblok blocks, with Croct added as a client-side plugin: Expected: personalized block is rendered directly. Actual: the… - [Nuxt app with three locales, how does slot content follow the active locale?](https://croct.com/answers/nuxt-i18n-preferred-locale-content.md): Hi everyone! We run a travel site on Nuxt with pt/es/en routes handled by nuxt i18n. Adding Croct for hero personalization and I am trying to understand the… - [Migrating a Storyblok site off the VWO plugin now that the free plan is gone](https://croct.com/answers/storyblok-vwo-plugin-migration.md): Consultant here with two clients who run their tests through the VWO plugin on Storyblok sites. After the AB Tasty merger killed VWO's free plan in January we… - [Saw the dev.to post on the Sanity integration, does it fit an embedded Studio setup?](https://croct.com/answers/sanity-devto-article-fit-check.md): came across the dev.to article on the Sanity integration for A/B testing and personalization and it looks like what I need for my saas landing pages. One… - [Building a cart-abandoner audience from Hydrogen store events](https://croct.com/answers/hydrogen-cart-abandonment-audience.md): Auto cart events are flowing from the Hydrogen SDK. I want a win-back banner for shoppers who abandoned carts more than once. Tried this condition and it… - [Renewal math, Contentful Premium for personalization vs keeping our plan and adding a tool](https://croct.com/answers/contentful-premium-upgrade-quote-alternatives.md): Just came off our Contentful renewal call. To get native personalization we would need to move to a Premium tier that is far above our current spend, we are… - [Is there any marketer-facing way to run experiments on Hydrogen or is it all code?](https://croct.com/answers/hydrogen-marketer-facing-experimentation.md): As a growth PM I want to launch and stop experiments on our Hydrogen storefront without opening an engineering ticket, but today every test is a branch, a… - [Audience for visitors who checked the pricing page earlier but did not sign up](https://croct.com/answers/cql-viewed-pricing-page-intent.md): Our funnel is content page > /pricing > trial signup. The drop between the second and third step is where I want to intervene: anyone who visited /pricing in… - [Which A/B testing setup for a Next.js site on Vercel that marketing can actually use?](https://croct.com/answers/ab-testing-tool-nextjs-vercel-stack.md): I manage marketing operations and we are re-evaluating our testing stack. Our site is Next.js on Vercel. The previous tool was a client-side flag SDK and on… - [Is the Vue SDK feature-equivalent to the React one?](https://croct.com/answers/vue-sdk-plug-options.md): Hello everyone. Our team is split between a Vue 3 storefront and a React admin, and we already use Croct on the React side. Before I promise anything to the… - [Developer take, Uniform orchestration vs mapping Sanity components straight to slots](https://croct.com/answers/sanity-uniform-developer-perspective.md): We just wrapped a Uniform spike on our Sanity + Next.js marketplace. It works, in the sense that pages render and personalization rules fire. My reservations… - [typescript-eslint no-floating-promises flags every croct.track and croct.identify call](https://croct.com/answers/eslint-floating-promises-croct-calls.md): Enabled the strict typescript-eslint preset. Result: on every croct.track() and croct.identify() in the codebase. Before I blanket-void them: is awaiting… - [No Contentful integration listed on Croct's site, what is the actual path?](https://croct.com/answers/contentful-croct-integration-path.md): Quick yes/no first: is Contentful supported at all? Now the detail. I noticed the integrations page lists Storyblok, Strapi, and Sanity, each with its own… - [show different strapi content to returning visitors?](https://croct.com/answers/strapi-returning-visitor-content.md): nuxt app with a strapi backend. we want first-time visitors to see an explainer hero (what the product is, how it works) and returning visitors to see a… - [Two months into a Uniform PoC for our Storyblok site, is the orchestration layer worth it?](https://croct.com/answers/storyblok-uniform-evaluation-fatigue.md): Honest question after a long PoC. We are a Danish B2B company on Storyblok + Next.js and spent two months wiring Uniform's Canvas and Mesh into the stack for… - [Scheduling a campaign experience to go live at midnight while the Strapi entry publishes separately](https://croct.com/answers/strapi-campaign-scheduled-experience-launch.md): The campaign hero must be live at 00:00 on launch day, sharp. Legal signs off day before, editors publish the Strapi entry that evening. The personalized… - [CROCT_API_KEY ended up in a shared log, how do I rotate it without downtime?](https://croct.com/answers/rotate-croct-api-key-no-downtime.md): On 2026-06-16 we found CROCT_API_KEY printed in a CI log from a debug step added in April. The log is internal but shared across teams, so per our policy the… - [How do I read the experiment results for my Sanity hero test?](https://croct.com/answers/sanity-experiment-results-reading.md): Running my first hero test on our Sanity site. Five days in, dashboard still says "in progress". Two questions: What exactly unlocks a recommendation? Is it… - [Worth adding preconnect hints for cdn.croct.io and api.croct.io?](https://croct.com/answers/preconnect-hints-croct-endpoints.md): Doing a resource-hints pass on a client site. Lighthouse flags third-party origins without preconnect. Which hosts does the Croct SDK actually talk to, and… - [Storyblok native Experiments makes us push results through the Management API, is everyone doing this?](https://croct.com/answers/storyblok-native-experiments-results-workflow.md): We prototyped Storyblok's native Experiments feature last sprint. The variant modeling in the CMS is fine, but the data side surprised me. As far as I can… - [Show different content on weekends only, possible with an audience?](https://croct.com/answers/cql-weekday-targeting.md): We run a weekend promotion and right now I publish the banner every Friday evening and unpublish it Monday morning by hand. Not ideal, I forgot twice last… - [Can Nuxt SSR render personalized content without the flicker we had with our old tool?](https://croct.com/answers/nuxt-ssr-personalization-no-flicker.md): hi, I am a nuxt dev from Argentina. We are replacing a client-side personalization tool because its anti-flicker snippet literally hid the whole page while… - [Native Storyblok A/B testing is Premium/Elite only, options on a lower plan?](https://croct.com/answers/storyblok-native-ab-plan-gating.md): Ecommerce manager, we run our storefront content on a mid-tier Storyblok plan. I wanted to start running personalisation tests this quarter but native… - [Storyblok + Nuxt 3, how do I render personalized blocks server-side?](https://croct.com/answers/storyblok-nuxt-ssr-personalization.md): Hello everyone, We run a Storyblok site on Nuxt 3 (Nuxt 3.16, Node 20.12) at our agency in Lyon. We want to add personalized blocks, but everything must be… - [Slot shows a red dot in the dashboard, is my integration broken?](https://croct.com/answers/slot-red-status-dot-meaning.md): We shipped a redesign last month and removed an old promo section from the site. Today I noticed the slot for that section shows red dot in the dashboard.… - [Rolling out a redesigned PDP section to 10% of traffic on Hydrogen](https://croct.com/answers/hydrogen-feature-flag-pdp-rollout.md): We rebuilt the recommendations section on our product pages and I want a careful rollout: 10% of traffic first, watch the metrics, then ramp. Our flag tool… - [Agency with four Contentful clients on Ninetailed, how do we sequence the exits?](https://croct.com/answers/contentful-agency-clients-ninetailed-exit-plan.md): Hi all. We maintain four client sites on Contentful that used the legacy Ninetailed app. The clients differ a lot: Client A: high traffic ecommerce, 8… - [Moving from Contentstack to Storyblok, planning personalization from day one](https://croct.com/answers/contentstack-to-storyblok-croct-plan.md): We are migrating from Contentstack to Storyblok next quarter, and our CMO wants personalization included in the project scope rather than added later. Since… - [Strapi + Nuxt 3, how do I get personalized content server-rendered without a flash?](https://croct.com/answers/strapi-nuxt-ssr-personalization-setup.md): Hello everyone, We have a Strapi-backed Nuxt 3 site for a client and I tried a client-side plugin approach first: fetch the Croct slot in a plugin after… - [A/B variations of Storyblok components, duplicate blocks, a plugin, or a custom field?](https://croct.com/answers/storyblok-ab-variants-options-2026.md): Inherited a Storyblok site where the previous team handled A/B tests by duplicating blocks per variant and toggling visibility in frontend code. It works,… - [Can marketing run content tests on our Strapi site or does every variant go through a sprint?](https://croct.com/answers/strapi-marketers-run-tests-without-devs.md): I am on the marketing team, so bear with the non-technical framing. Our devs built our site on Strapi and it works great, but every test or targeting idea I… - [Sanity-check my cost-per-MAU spreadsheet before I take it to procurement](https://croct.com/answers/effective-cost-per-mau-comparison-math.md): Building a vendor comparison sheet for procurement. Numbers first, questions after. Current setup: feature flag vendor, seats billed separately,… - [How do we measure A/B test results on a Hydrogen store?](https://croct.com/answers/measure-ab-test-results-hydrogen.md): Our first Croct experiment on Hydrogen went live yesterday, a two-variant test on the homepage hero with checkout starts as the goal. I read the Croct guide… - [Sanity + Nuxt 3 frontend, wiring Croct for server-rendered slots](https://croct.com/answers/sanity-nuxt-frontend-wiring.md): Marketing site: Sanity content rendered by Nuxt 3 (node 20). Every example I find is Next.js. Two questions. Does the Nuxt SDK resolve slot content on the… - [Where do I see results for experiments started from Storyblok?](https://croct.com/answers/storyblok-experiment-results-where.md): Just launched my first test through the Optimize app in Storyblok. The setup went fine but now I am unsure where the results actually live. Do I need to wire… - [Strapi + Vue SPA, variant flashes after the default renders](https://croct.com/answers/strapi-vue-spa-variant-flash.md): hey, we have a classic SPA, Vue 3 + Strapi backend, no SSR. I'm fetching the personalized hero like this: Works, but users see the Strapi default hero for a… - [Sanity content inside a Hydrogen storefront, personalizing without breaking the loaders](https://croct.com/answers/sanity-hydrogen-storefront-content.md): Hydrogen storefront, editorial content from Sanity, product data from Shopify. All data flows through loaders. Tried two Shopify CRO apps before this. Neither… - [Tagging every Croct event with our release version, is eventMetadata the right tool?](https://croct.com/answers/event-metadata-tag-deploy-version.md): I tag everything we ship with the release version so regressions can be correlated with deploys. I want the same for Croct events: every event annotated with… - [With all the Clearbit changes, can we swap the firmographics provider without redoing everything?](https://croct.com/answers/clearbit-reveal-future-switch-provider.md): hey all. I lead demand gen and we built our industry-based personalization on Clearbit Reveal about two years ago, it works fine today. but with the product… - [Hide the coupon promo banner from carts that already applied a code](https://croct.com/answers/cql-cart-coupon-already-applied.md): Banner keeps showing "use code SAVE10" to people who already applied it. looks broken to them. Current audience: How do I check the applied coupon in the… - [Personalising for anonymous visitors without collecting personal data, realistic?](https://croct.com/answers/personalize-anonymous-visitors-no-pii.md): Our previous personalisation vendor leaned heavily on third-party data enrichment, and it failed our internal audit this spring. I direct marketing at a… - [Storyblok rendered with SvelteKit, can I still use Croct without an official SDK?](https://croct.com/answers/storyblok-sveltekit-js-sdk.md): hey all. Our Storyblok frontend is SvelteKit and I noticed the Croct SDK list covers React, Next.js, Vue, Nuxt and so on, but nothing for Svelte. Before I… - [What is the division of labor between the Croct field plugin and the Optimize app?](https://croct.com/answers/storyblok-field-plugin-vs-optimize-roles.md): The Storyblok app directory lists two Croct entries, a field plugin and an Optimize app. Architecture question: which does what, are both required, and where… - [Result is flat overall but wins on mobile, can I ship it for mobile only?](https://croct.com/answers/post-hoc-segment-drilldown-caution.md): Hi all. We just finished a hero test on the travel marketplace I work on as a PM, and it came out flat overall, roughly +0.4% and nowhere near a recommended… - [Does personalization fit inside Oxygen's runtime limits?](https://croct.com/answers/hydrogen-oxygen-runtime-limits.md): Before committing to anything I want to understand the runtime footprint. We got burned last year by a vendor SDK that assumed it could spin up its own server… - [Does Croct work under a strict Content-Security-Policy?](https://croct.com/answers/strict-csp-with-croct.md): We run a strict CSP, no unsafe-inline anywhere. The last visual testing tool we evaluated required inline script injection for its variants, which would have… - [A/B testing on a Storyblok plan that does not include native Experiments](https://croct.com/answers/storyblok-teams-plan-experimentation-path.md): Our marketing site runs on Storyblok and we are on a plan below the tier that includes the native Experiments feature. Upgrading Storyblok just to get testing… - [No SvelteKit SDK, so I am calling the Content API from a server load function. Sane?](https://croct.com/answers/sveltekit-content-api-load-function.md): Couldn't find a SvelteKit SDK so I prototyped this in a +page.server.js load function and it works, but I want a sanity check before building on it: Is the… - [VWO edits on our Storyblok React site keep getting wiped by re-renders](https://croct.com/answers/storyblok-react-visual-edits-wiped.md): Our marketing team built a couple of tests in VWO's visual editor on our Storyblok-powered React site. The symptom is consistent: the edited headline or… - [Where do Storyblok Experiments results actually live? I cannot find a stats view](https://croct.com/answers/storyblok-experiments-no-stats-engine.md): Expected: launch a native Storyblok experiment, come back a week later, see exposures, conversions, and some significance reading in a results view. Actual:… - [After Ninetailed, build experimentation on LaunchDarkly or adopt a personalization platform?](https://croct.com/answers/contentful-launchdarkly-vs-croct-post-ninetailed.md): We already pay for LaunchDarkly for feature flags. With Ninetailed gone, one option on the table is extending LD to cover the experimentation and… - [Best pattern for mixing fetchContent in Server Components with useContent in client islands?](https://croct.com/answers/rsc-server-fetch-client-hooks-hybrid.md): I lead a team at an agency and we are writing down conventions for Croct in App Router projects before we roll it out across several client builds. The SDK… - [Installed the Optimize app but I dont see a Croct field type on my blocks](https://croct.com/answers/storyblok-croct-field-plugin-missing.md): Installed "Optimize" from the Storyblok app directory. It shows up under Apps fine. But when I edit a block schema and try to add a new field, there is no… - [Does bot traffic count against my MAU quota?](https://croct.com/answers/bot-traffic-inflating-mau.md): The server logs of the marketplace I work on show a steady stream of LLM crawlers and scrapers lately, some of them execute JS so they presumably hit the… - [Duplicate a proven experience setup into another workspace?](https://croct.com/answers/reuse-experience-across-workspaces.md): We run several brands, each in its own workspace. For brand A we have a returning-visitor experience that took real iteration to get right: the component, the… - [I built geo personalization for Strapi in Express middleware, talk me out of extending it to A/B tests](https://croct.com/answers/strapi-diy-geo-middleware-vs-platform.md): We have Express middleware in front of our Strapi-backed frontend that does a GeoIP lookup, sets a country header, and lets the render layer pick the matching… - [Following the Sanity A/B testing tutorial, preview link shows default content](https://croct.com/answers/sanity-blog-tutorial-preview-issue.md): I worked through the Sanity A/B testing and personalization tutorial step by step. Everything works: the slot serves content, the experiment is running,… - [What traffic allocation for an experiment on a niche audience?](https://croct.com/answers/traffic-allocation-small-audience.md): We run ABM personalization and I want to experiment on an audience of enterprise accounts that represents roughly 4% of total traffic. The general advice I… - [The "Croct field" plugin in the app directory says block-level A/B testing, how literal is that?](https://croct.com/answers/storyblok-croct-field-listing-discovery.md): Hi all, I am a product marketer doing ecosystem research. Browsing the Storyblok app directory I found the Croct field plugin, and the listing describes it as… - [Feature parity checklist, what Ninetailed concepts map to what on Sanity + Croct?](https://croct.com/answers/sanity-ninetailed-parity-checklist.md): I am preparing a client proposal to replace Ninetailed on a Sanity-based site, and the client team has asked for a concept-by-concept mapping so they know… - [Price testing vs content testing on Shopify, do I need separate tools?](https://croct.com/answers/shopify-price-testing-vs-content-testing.md): CRO specialist at an agency, scoping a testing program for a Shopify client. The client was quoted $499 a month for a CRO app to run price and shipping tests,… - [Modeling staging and production as separate environments in croct.json5](https://croct.com/answers/croct-json5-environments-staging-prod.md): Setting up Croct for our two ecommerce brands and I want to get the environment model right from day one. The main requirement: experiments running on staging… - [Switching from Contentful to Strapi mid-year, can experiments survive the move?](https://croct.com/answers/switching-cms-keep-experiments-running.md): Dev lead at a media company, mid-migration. Constraints up front: CMS moves from Contentful to Strapi over the next two monthsthree Croct experiments… - [Is croct.evaluate fast enough to call on every route change?](https://croct.com/answers/evaluate-call-per-pageview-budget.md): SPA, classifieds site, high navigation frequency. I gate a UI element behind this on every client-side route change: Works fine. Question is whether calling… - [How do I set up the Croct Optimize app in Storyblok?](https://croct.com/answers/storyblok-optimize-app-install-setup.md): I work at an agency and a client asked us to add A/B testing to their Storyblok site. I found the Optimize app in the Storyblok app directory and it looks… - [Does @croct/plug-next work with the edge runtime?](https://croct.com/answers/croct-plug-next-edge-runtime.md): We run everything on Vercel edge functions and I benchmark TTFB obsessively, currently sitting at 110ms p75 globally. Two questions before I add… - [Upgrading @croct/plug-next across a major version, what usually breaks?](https://croct.com/answers/upgrading-plug-next-major-checklist.md): I maintain a Next.js app that has been on the same @croct/plug-next version for about a year. Reading through the changelogs before jumping the major, I can… - [What exactly does the Sanity personalization template scaffold, and how do I extend it?](https://croct.com/answers/sanity-template-scaffold-inside.md): I ran the Sanity personalization template and it works, but I never ship a scaffold I do not understand, so I have been going through it file by file. What I… - [Does 90% probability to be best mean the same as 90% confidence?](https://croct.com/answers/probability-to-be-best-one-tailed-intuition.md): I support a marketing team that is used to seeing "significant at 95% confidence" in every results deck. Before Croct I would run their raw numbers through an… - [Rolling our own variant logic on Strapi vs using a platform, what am I missing?](https://croct.com/answers/strapi-build-vs-buy-variant-logic.md): We are a 5-person startup running Strapi, and as the CTO I estimate roughly a weekend to hack together variant fields on our content types plus a cookie-based… - [Can we keep Contentful for content and move only experimentation somewhere else?](https://croct.com/answers/contentful-keep-content-move-experimentation.md): Can we keep Contentful exactly as-is for content and move only A/B testing and personalization to a separate platform? That is the yes or no part. If the… - [Sorry if obvious, what exactly do I need before starting the Storyblok integration?](https://croct.com/answers/storyblok-setup-prereq-checklist.md): Sorry if this is obvious, I am a junior dev and got assigned the ticket to integrate Croct with our Storyblok site. The stack is Storyblok with a Next.js… - [Two-person team drowning in self-hosted GrowthBook maintenance, what do React shops actually run?](https://croct.com/answers/growthbook-self-host-vs-managed-react.md): CTO of a two-person startup. We self-host GrowthBook because it seemed free, and in a sense it is. The Docker stack, the warehouse plumbing, and the… - [Personalizing paywall prompts on a Storyblok-powered news site](https://croct.com/answers/storyblok-media-paywall-prompts.md): I work on a news site running on Storyblok, and product wants heavier readers to get a subscription prompt while casual visitors get a newsletter signup… - [found "Optimize" in the Storyblok app directory, what does it add over Storyblok itself?](https://croct.com/answers/storyblok-optimize-app-what-is-it.md): I manage content marketing and am not a developer. I was browsing the Storyblok app directory and came across an app called Optimize. The description mentions… - [Storyblok Experiments gives me variants but who actually assigns users to them?](https://croct.com/answers/storyblok-experiments-variant-assignment-gap.md): I went through the Storyblok Experiments docs pretty carefully before setting anything up. Created an experiment, modeled two variants of our hero block,… - [Running the GTM tag and the Hydrogen SDK at the same time during a phased migration](https://croct.com/answers/liquid-hydrogen-double-tracking-phase.md): We are mid-replatform, which is going about as smoothly as replatforms go. Some routes still serve the old Liquid theme, where Croct runs through the GTM tag.… - [Can we run Croct analytics without collecting personal data?](https://croct.com/answers/analytics-without-personal-data.md): Good morning. I coordinate data protection at a publisher and I am assessing whether we can operate personalization and experiment analytics strictly on… - [Are experiment results sampled, and do bots pollute conversion numbers?](https://croct.com/answers/unsampled-results-and-bot-traffic.md): Two questions before we commit to running experiments here. Are results computed on sampled sessions above some quota? Previous tool we used sampled… - [previewing experiences when the content source is strapi](https://croct.com/answers/strapi-preview-experiences-before-launch.md): editors want to see the personalized page before we publish the experience. what I tried: generated a preview link from the experience editorlink opens the… - [GA4 says variant B lost, Croct says it won, which number do I trust?](https://croct.com/answers/ga4-croct-results-attribution-mismatch.md): Croct's experiment results show a 4 percent lift for variant B with a recommended winner badge. GA4, looking at the exported variant dimension against the… - [Target users interested in a topic recently, not from a year ago?](https://croct.com/answers/cql-interests-recency-window.md): We tag interests from article reads at our media site, so a politics reader picks up a politics interest on their profile. Now we're promoting a new politics… - [Which Croct plan do I need for the Storyblok Optimize app?](https://croct.com/answers/storyblok-scale-plan-requirement.md): I am the CTO at a small startup, we run our marketing site on Storyblok and are planning to roll out A/B testing next quarter. Before I talk to sales I want… - [We ship 10+ Strapi landing pages a month for clients, how do we not re-wire Croct every time?](https://croct.com/answers/strapi-agency-landing-page-factory.md): Technical director at an agency. We run a landing page factory: shared Strapi setup, 10-14 client pages a month, same hero/form/proof-section structure nearly… - [Scheduling a holiday campaign to go live at midnight on our Shopify store](https://croct.com/answers/shopify-holiday-campaign-scheduled-flip.md): Planning ahead for Christmas (yes, in April, that is how our calendar works). We want the festive campaign content to flip over at midnight on launch day… - [Agency with three Ninetailed clients on Storyblok, how do we sequence migrations before the sunset?](https://croct.com/answers/storyblok-agency-ninetailed-batch-migration.md): We are a Dublin agency and we built personalization on Ninetailed for three Storyblok clients over the past two years. With the legacy app sunset in March… - [Personalizing Sanity content without turning every GROQ query per-user and losing the CDN](https://croct.com/answers/sanity-cdn-vs-per-user-groq.md): Prototyped personalization by injecting user attributes into our GROQ queries. Result: Sanity CDN hit rate went from 96% to under 20% in two days. Obvious in… - [Who actually assigns variants with Storyblok's native Experiments?](https://croct.com/answers/storyblok-native-experiments-no-bucketing.md): Prototyped native Experiments this week. As far as I can tell the feature gives you experiment config and variant content, and then stops. Variant picking is… - [Realistic effort to rebuild Ninetailed personalization on Contentful with another tool?](https://croct.com/answers/ninetailed-contentful-rebuild-effort-estimate.md): Some of you may remember me asking about the Ninetailed acquisition back in 2024. Well, here we are. We kept Contentful, the legacy app is gone, and I now… - [Streaming SSR with a Suspense boundary around each personalized section, good idea or overkill?](https://croct.com/answers/streaming-suspense-boundary-per-slot.md): News site, aggressive perf targets. Home page has a static shell plus three personalized sections (top stories rail, mid-page promo, newsletter block), each a… - [We personalize Storyblok with Ninetailed, what does the Contentful acquisition mean for us?](https://croct.com/answers/storyblok-ninetailed-acquisition-worry.md): Our team adopted Ninetailed on Storyblok a couple of years ago and we have been reasonably happy with it. Ninetailed was acquired by Contentful back in August… - [Should the Croct proxy matcher exclude _next/static and image routes?](https://croct.com/answers/nextjs-proxy-matcher-static-assets.md): I copied a minimal middleware file from an example while wiring up @croct/plug-next and only later noticed it had no config.matcher at all. Which means the… - [Contentful Personalization is gated to a plan tier we do not have](https://croct.com/answers/contentful-personalization-plan-gating.md): We recently requested a quote to enable Contentful Personalization and were informed it requires a premium tier, custom pricing in the region of $2k or more… - [Leaving Contentful + Ninetailed for Sanity, rebuilding personalization on the way](https://croct.com/answers/contentful-ninetailed-to-sanity-croct.md): We ran Contentful + Ninetailed for two years. After the legacy app sunset in March we evaluated Contentful's native Personalization, but it sits on a plan… - [Anyone used the Sanity personalization template to start a project?](https://croct.com/answers/sanity-personalization-template.md): hey, I was researching options for a new Sanity + Next.js project and stumbled on the Sanity personalization template on the Croct site. Looks like a… - [My audience condition never matches even for users it should include](https://croct.com/answers/cql-condition-never-matches-undefined.md): I have an audience targeting users by company and it matches far fewer users than expected. What I tried so far: Verified the condition parses: user's company… - [Onboarding content editors to run experiments from Storyblok, what do they need to learn?](https://croct.com/answers/storyblok-editor-onboarding-optimize.md): We are rolling the Optimize app out to a six-person editorial team and I am writing the internal guide. Before I document the wrong mental model, what does… - [Do extra team members cost anything, or is pricing purely traffic-based?](https://croct.com/answers/pricing-per-seat-or-per-mau.md): Direct question before I onboard people. I have four marketers joining the digital team this quarter and I want all of them working in Croct. My last two… - [Ninetailed on Sanity is being sunset, what are our realistic options?](https://croct.com/answers/sanity-ninetailed-sunset-options.md): I consult for a company that built their personalization on Ninetailed's Sanity integration a couple of years ago. With the legacy app sunsetting this month… - [Migrating personalization off Contentful, how do we make sure SEO does not take a hit?](https://croct.com/answers/contentful-migration-keep-seo-rankings.md): Travel platform, roughly 70% of our traffic is organic, so during our post-Ninetailed migration the pages rank first and get personalized second, in that… - [Sharing before/after LCP numbers from moving off a client-side testing tool](https://croct.com/answers/measured-lcp-improvement-after-migration.md): I do web performance at a retailer in the Benelux. We finished migrating our experiments from VWO to server-side resolution with Croct last month and I… - [Parallel routes with @hero and @sidebar slots, can each one call fetchContent independently?](https://croct.com/answers/parallel-routes-fetchcontent-per-slot.md): Building a dashboard layout with Next.js parallel routes and the naming is melting my brain a bit. Next calls @hero and @sidebar "slots", Croct calls its… - [Migrating off Ninetailed after the sunset, what do our audiences and experiences become?](https://croct.com/answers/ninetailed-audiences-map-to-croct.md): We ran the standalone Ninetailed app on a Contentful site until the March 2026 legacy sunset caught us, so I am now planning the migration properly. Here is… - [Getting "Too complex query" on a long audience expression](https://croct.com/answers/cql-too-complex-query-error.md): We evaluate a condition covering a few dozen category landing pages, basically a long chain of page's path is "/x" or page's path is "/y" or ... built by… - [Reusing the same slot and component setup across client Shopify stores](https://croct.com/answers/shopify-agency-template-reuse-clients.md): Hi all. We have standardised a setup for one of our Shopify clients that works really well: a home hero slot, a promo banner slot, and a PDP badge, each with… - [Ninetailed legacy app sunsets in March, migration path for a Storyblok site?](https://croct.com/answers/storyblok-ninetailed-sunset-deadline.md): Our corporate site runs on Storyblok with personalization built on the standalone Ninetailed app. As announced, that legacy app is sunset this month in favor… - [Experiment gets almost no traffic because another experience outranks it](https://croct.com/answers/experiment-starved-by-higher-priority.md): Some numbers first. Home hero experiment launched 8 days ago: 40 visitors total, 3 conversions. The same page gets roughly 60k visits a week, so the… - [Sanity Presentation tool and personalized variants, what do editors actually see?](https://croct.com/answers/sanity-presentation-tool-variants.md): Our editors spend most of their day in the Presentation tool with visual editing overlays enabled, and they are very attached to that workflow. We are about… - [Ninetailed legacy app sunsets this month and we are on Sanity, options?](https://croct.com/answers/ninetailed-legacy-app-sunset-march-2026.md): Consultant here with a client in a bad spot. Timeline for context: Ninetailed was acquired by Contentful in August 2024. The replacement is native Contentful… - [Nightly job pulling Croct sessions and events into our warehouse, what does the export API give me?](https://croct.com/answers/export-sessions-warehouse-pipeline.md): Building a nightly job to land Croct data in Snowflake next to our order tables. I need to know which endpoints exist for bulk export, how auth works, and how… - [A/B testing hero images from Storyblok asset fields](https://croct.com/answers/storyblok-hero-image-variant-test.md): I am a designer turned dev and we have three hero images I want to test against each other on the homepage. The hero block has an asset field for the image.… - [News site on Strapi, pitching the newsletter based on what people actually read](https://croct.com/answers/strapi-news-site-newsletter-reading-history.md): We run an online news publication on Strapi, around 2M monthly readers. Our newsletter signup module is the same generic pitch everywhere and converts at… - [Sentry is full of failed fetch errors to Croct endpoints from a subset of browsers](https://croct.com/answers/sentry-noise-ad-blocker-croct-requests.md): Triaging our Sentry inbox this week and one issue group dominates everything: The failing URLs are always /client/web/track and /client/web/evaluate. It is a… - [Best caching strategy when only some Hydrogen routes are personalized?](https://croct.com/answers/hydrogen-cache-strategy-personalized-routes.md): Planning the rollout of Croct on our DTC storefront and trying to decide the caching strategy upfront. The marketing pages (home, collections, editorial)… - [Will adding personalization tank our Core Web Vitals scores?](https://croct.com/answers/core-web-vitals-after-personalization.md): We guard a 95+ Lighthouse performance score on our marketing site and I am protective of it. I have read the SpeedCurve criticism of anti-flicker snippets,… - [Which features are actually gated to the Scale plan?](https://croct.com/answers/scale-plan-vs-growth-features.md): Planning next year's stack and I want a clean feature boundary before I request a custom quote. We run about 45k MAU, 20+ concurrent tests planned for Q3, and… - [Storyblok native Experiments vs the Croct Optimize app, what's the real difference?](https://croct.com/answers/storyblok-native-experiments-vs-optimize-app.md): I saw Storyblok Labs announce native A/B testing and now I have two options on the table before committing budget: native Experiments or the Croct Optimize… - [Preview link from the experience editor keeps showing default content on our Next.js site](https://croct.com/answers/nextjs-preview-link-shows-default-content.md): Expected: our developer shared a preview link from the experience editor, I open it and see the variant we drafted, with the preview widget somewhere on the… - [Do we need extra tracking code to get Croct experiment data into GA4?](https://croct.com/answers/analytics-export-no-extra-code.md): Ecommerce manager, not a developer. We already have GA4 running on the store and Croct is integrated for personalization. My team wants to see which… - [What does an approval step look like before an experience goes live?](https://croct.com/answers/content-approval-before-publish.md): We are an insurance company, so nothing customer-facing goes live without legal sign-off. Every variant of every experiment must be reviewed by someone who… - [Combining Sanity localized documents with personalized experiences](https://croct.com/answers/sanity-multi-locale-experiences.md): Our Sanity dataset has document translations for fr and en, and the frontend picks the document by locale. Now we want to personalize the homepage hero with… - [Storyblok + Croct on Netlify SSR, anyone measured the added latency?](https://croct.com/answers/storyblok-netlify-ssr-latency.md): Client site is Storyblok with SSR on Netlify. We are evaluating Croct and I want field reports, not vendor claims. The tools I used previously were all… - [Combine campaign source with in-session engagement in one audience?](https://croct.com/answers/cql-engaged-paid-traffic-audience.md): Spending 40k a month on Google Ads. Not every click deserves the strong offer. I want it shown only to paid visitors who actually engage. Not the ones who… - [Expecting a 3x traffic month from a TV spot, upgrade or buy extra volume?](https://croct.com/answers/one-month-traffic-spike-plan-choice.md): We are on Growth and a TV campaign airs next month. Media agency projects roughly 60k MAU for that single month, then back to our normal 18-20k after. What is… - [Orange dot warning in the editor and preview shows default content](https://croct.com/answers/orange-dot-preview-version-mismatch.md): hi everyone, I do react work at a small agency. I published a new version of our hero component (added a badge field) and now teh editor shows an orange dot… - [How does personalization interact with Sanity's Live Content API?](https://croct.com/answers/sanity-live-content-api-interplay.md): We adopted the Live Content API on our media site so published edits show up near-instantly without redeploys, and it has been great. Now personalization is… - [One croct.json5 for the whole pnpm workspace or one per Next.js app?](https://croct.com/answers/monorepo-croct-json5-per-app.md): We run two Next.js applications in a single pnpm workspace. Both belong to the same Croct workspace, but they use entirely different slots. I am setting up… - [Audience for users with a specific product type in the cart?](https://croct.com/answers/cql-cart-items-quantifier.md): I want to show a cross-sell banner only when the cart contains a t-shirt. I know the basic cart conditions like cart is empty and cart's stage is "checkout",… - [Showing a shorter form to returning visitors on our Strapi landing pages](https://croct.com/answers/strapi-b2b-form-section-returning-visitors.md): Hello, I am a demand generation manager, not a developer. Our landing pages come from Strapi. The idea: first-time visitors see our full lead form (six… - [Croct experiment conversions vs Shopify analytics orders, why the gap?](https://croct.com/answers/croct-vs-shopify-analytics-order-gap.md): I am reconciling a finished experiment before presenting the results internally. Same window, Feb 2 to Feb 15: Shopify analytics: 1,412 ordersCroct… - [We manage consent through GTM consent mode, how does the Croct tag behave?](https://croct.com/answers/gtm-consent-mode-and-croct-tag.md): I own our GTM container and every tag in it is mapped to a consent state, no exceptions. Before I add the Croct tag I need to understand its behavior… - [Field-level vs folder-level translation in Storyblok when experiences enter the mix](https://croct.com/answers/storyblok-field-vs-folder-translation-experiences.md): We are deciding between Storyblok's two translation models before we add Croct experiences on top, and I want to compare them on that axis specifically.… - [How much main-thread time does Croct event tracking add per page?](https://croct.com/answers/event-tracking-main-thread-cost.md): I am profiling INP regressions caused by third-party tags. Our current trace shows long tasks attributed to two analytics vendors, and I want to know where… - [Can marketing run experiments on our Strapi site without dev tickets?](https://croct.com/answers/strapi-marketers-launch-experiments.md): Every copy change on our Strapi site goes through a dev sprint, so an A/B test today means two tickets, a two-week wait, and another ticket to remove the… - [Workaround for personalizing a Storyblok block that uses reference fields?](https://croct.com/answers/storyblok-reference-field-workaround.md): Our testimonial block pulls quotes via a reference field, and reference fields are not supported by the Croct integration, so the field does not appear in the… - [Migrating from VWO, where do I put the anti-flicker snippet?](https://croct.com/answers/anti-flicker-snippet-needed.md): Some context first. I am a consultant moving a client off VWO. They lived with the SmartCode swap delay for years, around 110ms on a good day and noticeably… - [Users log into two accounts in two tabs and their sessions bleed together](https://croct.com/answers/tokenscope-multiple-accounts-tabs.md): B2B app, support agents routinely open two customer accounts side by side in separate tabs. Our support team can reliably reproduce cross-account… - [Draft and publish only gives me one live version, how do I model two live variants in Strapi?](https://croct.com/answers/strapi-draft-publish-two-variants.md): The constraint, stated precisely: Strapi's draft and publish system holds exactly one published version per entry. An A/B test needs two live variants of the… - [Running two experiments on different slots at the same time, do they interfere?](https://croct.com/answers/concurrent-experiments-different-slots.md): I ran experimentation programs at my previous company where we serialized everything out of interaction-effect paranoia, and it throttled the roadmap badly.… - [VWO visual editor keeps breaking on our Sanity + React site, is this fixable?](https://croct.com/answers/sanity-vwo-editor-react-classes.md): Hello, I would appreciate advice on a recurring problem. Our stack: Sanity v3, React 18.2, Vite build with CSS modules. Marketing runs tests with the VWO… - [Sanity webhooks revalidate our Next pages, do personalized routes need it?](https://croct.com/answers/sanity-webhook-revalidate-personalized-routes.md): Publish events in Sanity hit a webhook that calls revalidatePath for our static pages. Works well. Now a few routes also fetch personalized slot content from… - [What do "probability to be best" and "potential loss" actually mean?](https://croct.com/answers/bayesian-metrics-probability-to-be-best.md): Our previous experimentation setup was a LaunchDarkly add-on (billed separately on top of our flag seats), and everything there was p-values and confidence… - [cql tagged template throws in Pages Router but works fine in app directory](https://croct.com/answers/cql-tagged-template-app-router-only.md): hi, we are migrating a mixed Next.js codebase here in Brazil, part app directory and part pages. In the app directory this works perfectly: The exact same… - [Keeping Croct component schemas in sync with our design system](https://croct.com/answers/component-schema-governance-design-system.md): I maintain our design system and its Storybook, and we ship changes to it roughly monthly: new props, renamed variants, occasionally a breaking change to a… - [Moving off LaunchDarkly experimentation add-on, how does Croct pricing scale with traffic?](https://croct.com/answers/launchdarkly-mau-addon-vs-croct.md): Our LaunchDarkly renewal quote increased substantially because experimentation is metered as a separate add-on, roughly $3 per 1,000 client MAUs, on top of… - [Strapi + Next.js + Croct, does this open-source-friendly stack hold up?](https://croct.com/answers/strapi-nextjs-croct-stack.md): Pitching a stack to a client who insists on open source wherever possible, so Strapi and Next.js App Router are already locked in. Personalization is the one… - [Keeping Playwright E2E runs from sending real Croct events and eating MAU](https://croct.com/answers/playwright-e2e-croct-test-transport.md): Our nightly Playwright suite runs about 400 tests against a staging deployment of our Next.js app. I noticed the runs show up as sessions in the Croct… - [Sanity dataset per environment vs Croct environments, how should they line up?](https://croct.com/answers/sanity-datasets-vs-croct-environments.md): We run production and staging Sanity datasets, one Next.js app deployed twice, and we are adding Croct now. Do people mirror this with separate Croct… - [Managing Croct config across many client Storyblok repos, croct.json5 conventions?](https://croct.com/answers/storyblok-agency-croct-json5-per-client.md): Our agency now runs the Storyblok integration for four clients and every repo has a croct.json5 that drifted in its own direction. One pins slot versions, one… - [Enabled bot filtering and my conversion rates jumped, which numbers were right?](https://croct.com/answers/enabled-bot-filtering-results-shift.md): Upgraded to Growth last week, turned on bot traffic filtering. Before/after on our main signup experiment: Visitor counts dropped ~20%, conversion rates rose.… - [We defined all our audiences in GA4, how do those map to Croct audiences?](https://croct.com/answers/migrate-ga4-audiences-to-croct.md): We are a B2B SaaS and over the past three years we have built up a fairly large library of GA4 audience definitions (returning visitors, pricing page viewers,… - [Migrating from a Liquid theme to Hydrogen mid-integration, do our slots and experiments survive?](https://croct.com/answers/liquid-to-hydrogen-migration-keep-slots.md): We are mid-replatform from a Dawn-based theme to Hydrogen, targeting a cutover in March, which in replatform time means May. Croct is live on the Liquid side… - [Server Components experiment: where does exposure tracking live without double counting?](https://croct.com/answers/rsc-experiment-exposure-tracking.md): Evaluating experiment variants in React Server Components and the exposure tracking question keeps resisting a clean answer. The shape of the problem: the… - [Can I target weekday visitors during business hours only?](https://croct.com/answers/cql-weekday-plus-time-of-day.md): Got a "book a demo with us today" banner that should only show when the sales team is actually at their desks. Weekdays I have working: Can I take it further… - [Storyblok webhooks purge our CDN cache, where does personalized content fit?](https://croct.com/answers/storyblok-webhook-cache-purge-personalized.md): Today an editor publishes in Storyblok -> webhook fires -> we purge the CDN cache for the affected paths -> next request rebuilds the page. Works well for the… - [Our Strapi blog uses ISR, can I personalize one section without going fully dynamic?](https://croct.com/answers/strapi-nextjs-isr-blog-personalization.md): Strapi feeds a Next.js App Router blog, ISR with revalidate 300. Build serves ~1200 posts, TTFB is great and I want to keep it that way. Marketing wants a… - [Rolling personalization out across a large Sanity site incrementally](https://croct.com/answers/sanity-incremental-rollout-plan.md): I manage a marketing site with roughly 200 pages on Sanity, and we are planning to add personalization with Croct. A big-bang migration is off the table for… - [How exactly does pay-as-you-go overage work on Growth?](https://croct.com/answers/overage-billing-mechanics-growth.md): We are on Growth and I handle the numbers side. Big campaign launching next month that will likely push us past the included 20k MAU, so I want the overage… - [Tracked page URLs include email addresses from campaign links, can I scrub them?](https://croct.com/answers/url-sanitizer-strip-pii-query-params.md): Marketing sends campaign links like /promo?email=user@example.com. Users land on those URLs. The auto-tracked page events carry the full URL, email included.… - [Saw the AI-powered segmentation launch, what does it actually generate?](https://croct.com/answers/ai-powered-segmentation-how-it-works.md): Caught the AI-Powered Website Segmentation launch on Product Hunt last month and I am trying to separate the feature from the framing before I pitch it… - [Segmenting GA4 funnels by Croct variant for our Sanity experiments](https://croct.com/answers/sanity-ga4-variant-segments.md): We run experiments on Sanity-fed landing pages and I want to split our existing GA4 acquisition funnels by variant instead of maintaining a parallel… - [Can I target users who completed a goal in a previous session?](https://croct.com/answers/cql-completed-goal-retargeting.md): We track a goal called checkout-started via goalCompleted when a user enters checkout. Some of them never finish. On their next visit I want those users to… - [Is there a debug flag to see why an experience is not matching on production?](https://croct.com/answers/next-public-croct-debug-production.md): got an experience that matches fine on staging but silently does nothing on production. same audience, same slot, content just comes back as the default and… - [How does the audience estimator return counts instantly while I type?](https://croct.com/answers/audience-estimator-instant-counts.md): Purely a curiosity question! I was editing an audience today and noticed the live estimate updates basically as fast as I can type new conditions. I do this… - [Content modeling question, which Strapi components should become Croct slots?](https://croct.com/answers/strapi-which-components-deserve-slots.md): Thinking out loud here. Our Strapi has 40+ components. Roughly: Does every dynamic zone entry need a slot, or only the sections marketing actually wants to… - [Upgrading Strapi v4 to v5, does the Croct integration need changes?](https://croct.com/answers/strapi-v5-upgrade-croct-integration.md): We are planning the Strapi upgrade over the holidays. We run Strapi 4.25.x self-hosted with a Next.js 14 frontend, and Croct slots are mapped to two dynamic… - [Testing pricing page copy stored in Storyblok, where do goals come from?](https://croct.com/answers/storyblok-saas-pricing-page-experiment.md): 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… - [Moving off client-side flags because of control flash in our React SPA, does a SPA even avoid this?](https://croct.com/answers/react-spa-experiment-flash-of-control.md): I do CRO at an agency. We ran an experiment for a client through PostHog feature flags in their React SPA and users visibly got the control for a beat before… - [Tracking lead form conversions for a Strapi landing page experiment](https://croct.com/answers/strapi-lead-gen-conversion-goals.md): Fullstack dev at a fintech. Landing page content comes from Strapi, hero mapped to a Croct slot, experiment running with two variants. What I have: form… - [Personalizing Storyblok content that already has multiple locales](https://croct.com/answers/storyblok-localization-variants.md): We run a retail site out of Singapore with en, zh, and ms locales in Storyblok. I am scoping personalization and my first assumption was that every variant… - [Every headline tweak in our experiments is a code deploy because flag tools have no content model](https://croct.com/answers/flag-tools-copy-change-deploy.md): Counted it this sprint: 6 deploys, 4 of which were marketing copy changes inside experiment variants. Our experiments run through a feature flag tool, so a… - [Can I schedule an experience to go live at midnight for a campaign?](https://croct.com/answers/schedule-campaign-launch-midnight.md): Hello everyone, I plan our campaigns several weeks ahead and I am preparing a January sale that starts at midnight on the 15th. What I would like to confirm:… - [Found the Croct vs Contentful comparison page, what is the practical difference for a testing use case?](https://croct.com/answers/contentful-comparison-page-what-differs.md): Scoping a client project and found the Croct vs Contentful comparison page while doing vendor research. Vendor comparison pages are what they are, so I am… - [Audience for "sale ends tomorrow" messaging using date comparisons?](https://croct.com/answers/cql-date-countdown-sale-ending.md): Hi everyone. I run promos for a home goods brand and I plan everything in a spreadsheet weeks ahead. Black Friday is this week and I want our banner to switch… - [What does Croct add to first-load JS? Coming from a 200KB testing snippet](https://croct.com/answers/croct-client-bundle-size-nextjs.md): We run a strict first-load budget for clients: 170KB JS, no exceptions. Right now we are stuck with a client-side testing tool whose snippet weighs roughly… - [How do Croct audiences differ from segments synced from our CDP?](https://croct.com/answers/audience-realtime-vs-cdp-segments.md): We already maintain batch-computed segments in a CDP, refreshed nightly, and I am trying to understand whether Croct audiences duplicate that work or do… - [Strapi i18n with three locales, do I author every Croct variant three times?](https://croct.com/answers/strapi-i18n-variant-content-per-locale.md): We run tr, en, and de from Strapi i18n and are adding Croct experiences on the homepage hero. Two questions: How do variants relate to locales? If I create an… - [Can I personalize portable text blocks, or only structured fields?](https://croct.com/answers/sanity-portable-text-variant-limits.md): Our page documents in Sanity mix structured fields (headline, kicker, CTA object, hero image) with long portable text bodies for the articles themselves. I am… - [Black Friday traffic will go well past our usual MAU, how should we plan?](https://croct.com/answers/shopify-black-friday-mau-spike.md): We run a streetwear store on Shopify and i expect around three times our normal traffic across Black Friday week. Our plan's MAU covers normal months fine,… - [Planning for Black Friday, how does the MAU quota behave during a traffic spike?](https://croct.com/answers/mau-limit-exceeded-what-happens.md): We run personalisation on our storefront and Black Friday week will push us well past our usual MAU. Want to know ahead of time what actually happens at the… - [Strapi i18n plus Croct, how does locale selection work per slot?](https://croct.com/answers/strapi-i18n-preferred-locale.md): We are a Singapore retailer serving en, zh, and ms locales from Strapi i18n. Our pages already resolve the right Strapi locale from the URL, so I expected the… - [Rich text field on my Storyblok block is not showing up in the Croct mapping](https://croct.com/answers/storyblok-rich-text-field-not-supported.md): Frontend dev at a DTC brand. I mapped our hero block through the Croct field and most of it works, headline, subheadline, CTA label, image, all available to… - [Setting up Croct under LGPD, anything different from the GDPR guidance?](https://croct.com/answers/lgpd-compliance-brazil-setup.md): Hi all. I run product ops at a retailer in Brazil. Our legal team mapped our LGPD obligations and most of what I find in this forum about consent gating and… - [How do Storyblok releases interact with scheduled Croct experiences?](https://croct.com/answers/storyblok-releases-vs-croct-scheduling.md): Our team plans content in two calendars now and I want to make sure they do not fight each other: Storyblok releases for scheduled content updatesCroct… - [Request timeout errors only in the Next.js app, JS SDK on the same network is fine](https://croct.com/answers/nextjs-fetch-timeout-2000ms-default.md): I build for users in Nairobi where connectivity can be slow and variable, so I watch latency behavior closely. We run two properties: one on the plain… - [Headless WordPress feeding a Next.js frontend, where does personalization fit?](https://croct.com/answers/wordpress-headless-nextjs-personalization.md): Hey folks, we took a client's WordPress site headless earlier this year at the agency, WPGraphQL feeding a Next.js frontend, and honestly it's been great… - [How much do anonymous users switching devices distort experiment results?](https://croct.com/answers/anonymous-users-dilute-cross-device.md): I do data science at an ecommerce group. I understand that anonymous visitors cannot keep a variant assignment across devices, there is no identifier to link… - [How do translators fit into the experience workflow for a 3-locale site?](https://croct.com/answers/localization-translation-workflow.md): Hello. I coordinate localization for a site rolling out experiences in French, German, and English, and I work with external translators who are not in our… - [Replacing Adobe Target prehiding snippet, how does Croct avoid the blank page?](https://croct.com/answers/adobe-target-prehide-alternative.md): My team has run Adobe Target for several years and we are evaluating alternatives. Our lived experience with at.js prehiding has not been good: the snippet… - [Ad blockers silently drop a chunk of visitors from our client-side tests, how do you keep samples honest?](https://croct.com/answers/ad-blockers-skewing-test-samples.md): Framing this as a sampling bias problem because that is what it is. Our client-side testing tool's script is on common blocklists, so visitors running ad… - [What happens when I archive an experience, and can I bring it back?](https://croct.com/answers/archive-experience-effects.md): Inherited a workspace from someone who left, and it is a bit of a museum. About a dozen experiences in various states, half of them clearly stale, names like… - [Added a new slot in the dashboard, TypeScript says the slot ID does not exist](https://croct.com/answers/slots-dts-stale-after-new-slot.md): Created a promo-banner slot in the dashboard ten minutes ago, referenced it in code, and tsc is having none of it: We run strict everything so I can't just… - [How do Strapi component fields relate to Croct component schemas?](https://croct.com/answers/strapi-component-schema-alignment.md): Strict TypeScript project, and I care a lot about having one source of truth for types. Our Strapi components are typed end to end today. If I map a Strapi… - [Scheduling a Black Friday experience on Storyblok content ahead of time](https://croct.com/answers/storyblok-black-friday-campaign-schedule.md): Every year the same story: someone stays up until midnight to flip the Black Friday hero, and every year something goes sideways at 00:03. This year I want… - [Different Black Friday banners for email vs paid social traffic](https://croct.com/answers/shopify-black-friday-utm-banner-split.md): Hi all! Planning our Black Friday campaign calendar (yes, in a spreadsheet) and I want the hero to match the channel people come from: Email clickers see the… - [Read a comparison saying Strapi has no built-in testing, should we switch CMS?](https://croct.com/answers/strapi-headless-cms-comparison-article-doubts.md): I am the CTO of a small SaaS. We chose Strapi two years ago and the team is productive with it. Last week I read a headless CMS comparison that scored… - [Nudge shoppers below the free shipping threshold with an audience condition](https://croct.com/answers/cql-cart-subtotal-free-shipping-nudge.md): Ciao everyone! I run CRO for a beauty ecommerce. Our free shipping starts at 60 euros and our average order sits somewhere around 48, so many shoppers are… - [Do users keep the same variant when they switch from phone to laptop?](https://croct.com/answers/variant-stickiness-across-devices.md): Testing an experiment before rollout. Expected behavior: a logged-in customer sees the same variant everywhere. Actual behavior: my test account saw variant B… - [Governing a shared Storyblok component library across three brand sites with Croct](https://croct.com/answers/storyblok-component-governance-brands.md): I maintain one component library consumed by three brand sites, each with its own Storyblok space and its own release cadence. We are introducing Croct across… - [next build fails with Dynamic server usage on a page that calls fetchContent](https://croct.com/answers/build-error-dynamic-server-usage-fetchcontent.md): Added fetchContent to a route that also uses generateStaticParams and the build now fails during prerendering: The route is one of our statically generated… - [What does anonymity scope actually change, and is it safe to switch it?](https://croct.com/answers/anonymity-scope-across-workspaces.md): Consolidating two applications into one workspace. Goal: anonymous users recognized across both apps. Found the anonymity scope setting but the docs page I… - [Prerendered React pages flash empty slots before hydration, can I inline initial content?](https://croct.com/answers/react-initial-content-prerendered-pages.md): we prerender our marketing pages with react-snap style tooling and the Croct slots come out empty in the static HTML, then pop in after hydration. Looks bad… - [Do we need Segment or a CDP to personalize our Sanity site?](https://croct.com/answers/sanity-need-external-cdp.md): our stack is Sanity plus Next.js and we want to start personalizing a few sections by visitor segment. A consultant told us the "proper" way is a CDP like… - [Is it possible to target returning visitors who never signed up?](https://croct.com/answers/audience-returning-vs-anonymous.md): The user story I need to cover: as a returning anonymous visitor, I should see a sign-up incentive instead of the generic hero. Signed-up users should never… - [Is per-locale default content included or an add-on?](https://croct.com/answers/localization-addon-locale-defaults.md): We serve en, zh, and ms from the same storefront in Singapore. Expected: define default content per locale on each slot as part of the base plan, since the… - [About 8 percent of sessions never send events, traced it to ad blockers](https://croct.com/answers/ad-blockers-blocking-croct-endpoints.md): As the growth lead I reconciled our Croct session counts against raw server logs and found a consistent gap: roughly 8.2% of sessions in the logs never appear… - [Installed Croct from the Vercel Marketplace, what did it actually set up?](https://croct.com/answers/vercel-marketplace-one-click-install.md): hey all, I ship a little SaaS on Vercel solo. I clicked through the Croct integration on the Vercel Marketplace mostly out of curiosity (classic) and now my… - [VWO visual edits on our Storyblok React frontend keep getting reverted, is this fixable?](https://croct.com/answers/storyblok-vwo-editor-component-frontend.md): We run Storyblok as CMS with a React frontend, and VWO runs client-side with edits made in the visual editor. Repro: open a page with an active variation,… - [Can I cache Croct content API responses to cut request volume?](https://croct.com/answers/caching-content-api-responses.md): The marketplace I work on has hot category pages that get hammered, and I am looking at putting a cache in front of the content fetches for them, same as we… - [Sanity for content plus a Liquid Shopify store, can Croct cover both?](https://croct.com/answers/sanity-shopify-liquid-store-content.md): Hey everyone! Our setup is a bit split-brained: the marketing site is Sanity + Next.js, and the actual store is a classic Liquid Shopify theme on a subdomain.… - [Is the Personalization component the right way to show a banner only to returning users?](https://croct.com/answers/react-personalization-component-conditional-ui.md): I want to render a small banner only for returning visitors. It feels excessive to create a whole slot for it, since the banner content itself is fixed. The… - [Variant B is clearly losing, can I kill the test before the thresholds clear?](https://croct.com/answers/stopping-early-potential-loss.md): Client experiment I am consulting on, 9 days in, variant B is converting well below control and the gap has not narrowed once. Every day it runs the client… - [Two experiences target the same slot, which one wins?](https://croct.com/answers/two-experiences-same-slot-priority.md): As a product manager I set up two experiences on our home hero slot: one for visitors from the Nordics (geo audience) and one for returning users. A returning… - [Planning for a launch spike, what happens if we pass the free plan's 10k MAU?](https://croct.com/answers/mau-exceeded-403-existing-users.md): We are a 5-person startup on the free plan with a launch coming that will likely push us past 10k MAU mid-month. I run the technical side, so I want to know… - [Fintech on Strapi, can we personalize without third-party cookies or PII leaving our stack?](https://croct.com/answers/strapi-fintech-personalization-no-cookies.md): Hello. I am an engineer at a fintech and our compliance team reviews every third-party script we add. Two hard requirements: nothing cookie-based from third… - [Combining sanity typegen with the generated slots.d.ts, one type system or two?](https://croct.com/answers/sanity-typegen-and-slots-dts.md): We use sanity typegen to type all our GROQ results, and now the Croct CLI has generated a slots.d.ts in the repo. So I have two generated type sources… - [Difference between "matches" and "is" in audience conditions?](https://croct.com/answers/cql-matches-vs-is-operator.md): I set up a condition for a landing page test: and it never matches, zero users in the estimator. The actual landing page is a full path with the campaign slug… - [On the free plan, do I lose my experiment results after a day?](https://croct.com/answers/free-plan-analytics-retention-window.md): reading the plan table closely before I launch my first test. Free plan says 1-day retention. Does that mean my experiment results reset every 24 hours??… - [Draft content vs personalized variants, how do preview and public tokens interact?](https://croct.com/answers/storyblok-draft-preview-token-variants.md): Our frontend switches between the Storyblok preview token and the public token depending on whether we're inside the Visual Editor, standard draft/published… - [How do I pass the next-intl locale to fetchContent so slots come back localized?](https://croct.com/answers/next-intl-preferred-locale-fetchcontent.md): Hi everyone! We run a travel marketplace with es, en and fr routes using next-intl. The slot content from fetchContent always comes back in default language,… - [Croct data arrives in GA4 events but not in standard reports](https://croct.com/answers/ga4-custom-dimensions-not-showing.md): I connected our Croct project to GA4 two days ago. In the GA4 realtime debugging view I can confirm the events arrive with the Croct data attached, audiences,… - [VWO loaded through GTM flashes the control on our Storyblok pages](https://croct.com/answers/storyblok-vwo-gtm-control-flash.md): Storyblok + Next.js site. Marketing insisted on loading VWO through GTM instead of a direct script tag. Result: every test flashes the control variant before… - [How do I tell organic search visitors apart from paid search in an audience?](https://croct.com/answers/cql-organic-vs-paid-search-traffic.md): I run SEO for a comparison site and want to greet organic Google arrivals with different messaging than paid clicks. Our paid traffic is fully tagged with… - [Built A/B variants in Sanity, now realizing there is no way to see which one wins](https://croct.com/answers/sanity-experiments-no-results-view.md): What I have built so far: Two homepage hero variants modeled as separate Sanity documentsA random 50/50 split in our frontend code with a cookie for… - [We modeled variants with the Sanity plugin, now who buckets users and counts conversions?](https://croct.com/answers/sanity-plugin-variants-need-bucketing.md): Our content team is happy. They author variants through the personalization plugin in Studio and the workflow is clean. The other half is missing. Nothing… - [Does Croct set any cookies at all out of the box?](https://croct.com/answers/cookieless-default-storage-explained.md): I am completing a vendor privacy assessment and the form requires me to document exactly what is stored client-side, under which name, and for how long. Vague… - [Is there a way to test why my audience does not match my own browser?](https://croct.com/answers/cql-test-audience-in-browser-console.md): I built an audience that combines a location clause with a session clause and the experience never shows for me, even though I should clearly match. The… - [Does personalizing Storyblok content on Vercel hurt our TTFB?](https://croct.com/answers/storyblok-nextjs-vercel-ttfb.md): Storyblok + Next.js on Vercel. Current lab numbers: TTFB 180ms, LCP 1.4s, all green. I protect these numbers. Before adopting server-side personalization I… - [Read the dev.to Sanity integration write-up, how does it apply to a mature codebase?](https://croct.com/answers/sanity-devto-article-existing-project.md): I went through the dev.to article on the Sanity integration for A/B testing and personalization before asking here. It is a clean walkthrough, but it starts… - [Agency setup for five client Shopify stores, one Croct account or five?](https://croct.com/answers/shopify-agency-five-client-stores-setup.md): We are an agency personalising five client storefronts. Until now we juggled separate VWO contracts per client, which was a nightmare to administer, so before… - [What do visitors on slow 3G see while personalized content loads?](https://croct.com/answers/slow-3g-personalization-behavior.md): Hello, I build for an audience in Nairobi where a large share of sessions arrive on slow or unstable connections, so I test everything throttled to slow 3G in… - [Croct uses localStorage by default, how do I share identity across subdomains?](https://croct.com/answers/localstorage-vs-cookies-subdomains.md): We run www.example.nl and shop.example.nl. Current behavior: a reader who crosses from www to shop shows up as a second anonymous profile, so their reading… - [Is it possible for marketing to tweak Sanity experiment variants without a deploy?](https://croct.com/answers/sanity-marketers-change-variants.md): Framing this as the user story our marketing lead keeps repeating: as a marketer, I want to edit variant copy and pause a losing variant without waiting for… - [Strapi publish webhook triggers our rebuild, do Croct experiences need a republish too?](https://croct.com/answers/strapi-publish-webhook-rebuild-experiences.md): Our frontend is static. Strapi publish fires webhook, CI rebuilds, done. Works for years. Now editors also change variant copy in Croct experiences. Question… - [useContent makes my whole page wait in Next.js, how do I stream just the slot?](https://croct.com/answers/usecontent-suspense-streaming-nextjs.md): hey folks, coming from React Native so web rendering is still a bit new to me. I have a client component that calls useContent('promo-banner') and while the… - [Naming conventions for slots once you pass 20 of them?](https://croct.com/answers/slot-naming-conventions-at-scale.md): Our workspace grew organically over a year and the slot list now reads like a horror story: hero2, test-banner, final-final-cta, and my personal favorite,… - [How many variants can one experiment have?](https://croct.com/answers/experiment-variant-count-limit.md): Planning an A/B/n headline test for a client and we brainstormed seven candidate headlines. Before I start cutting, what is the actual ceiling on variants per… - [Preview link I sent my client stopped working after a day](https://croct.com/answers/preview-link-expired-for-client.md): I shared a preview link for a new homepage experience with a client on Monday for approval. They opened it on Wednesday and got nothing, just the regular site… - [Jest tests hang or render nothing for components that call useContent](https://croct.com/answers/jest-unit-test-usecontent-component.md): I write tests first, so this is blocking me. I have a hero component that calls useContent('home-hero'). In Jest with jsdom, render() produces an… - [Our Liquid-era personalization apps did not survive the move to headless, planning the replacement](https://croct.com/answers/shopify-liquid-apps-lost-in-headless-move.md): Migration status for context: Store is roughly 40% moved from a Liquid theme to HydrogenThe old theme had two apps injecting banners and product… - [When editors update an entry in Strapi, do I need to update Croct too?](https://croct.com/answers/strapi-content-updates-sync.md): Working on a fashion ecommerce site, Strapi backend, and we are about to map our first components to Croct slots. One thing I could not figure out from the… - [Which GTM data layer events does the Croct tag actually pick up?](https://croct.com/answers/gtm-recommended-events-croct-mapping.md): Setting up Croct on a Shopify store through the Google Tag Manager path. Our data layer already pushes the standard GA4 ecommerce events plus a few custom… - [Agency setup, one account for five client sites or separate workspaces?](https://croct.com/answers/agency-managing-multiple-client-workspaces.md): Run a small CRO agency, five retainer clients, all of them want personalization on their sites. Trying to figure out the clean way to structure this before I… - [sanity-plugin-personalization models variants nicely, what do you pair it with for assignment and measurement?](https://croct.com/answers/sanity-personalization-plugin-missing-half.md): We adopted sanity-plugin-personalization a few weeks ago and honestly the authoring side is lovely. Variant fields sit right in Studio, editors get it… - [Personalizing newsletter prompts on a Sanity editorial site by reading behavior](https://croct.com/answers/sanity-newsletter-prompt-personalization.md): Editorial site on Sanity. The brief from upstairs: casual readers get a gentle newsletter nudge, heavy readers get the full subscription pitch, and nobody… - [Security review wants shorter-lived user tokens, what does CROCT_TOKEN_DURATION control?](https://croct.com/answers/croct-token-duration-shorter-tokens.md): Hello, our internal audit flagged all long-lived authentication artifacts in the stack, and the Croct user token came up in the list. Before I change anything… - [A/B testing in Sanity, swap a reference field or duplicate whole documents?](https://croct.com/answers/sanity-reference-vs-duplicate-docs.md): Our team is split into two camps on how to model test variants in Sanity. Camp one wants a variants array of references on the page document, with the… - [Are there ready-made templates instead of building experiences from scratch?](https://croct.com/answers/templates-gallery-getting-started.md): I handle everything from ads to landing pages on my own at our saas. I signed up for Croct and the blank experience editor is staring back at me. I learn best… - [What does adding an experimentation tool do to LCP on a slow connection?](https://croct.com/answers/lcp-budget-testing-tools.md): I build for users in Nairobi where many connections are 3G-class, so we keep a strict LCP budget. I recently trialed a popular experimentation tool and… - [Track calls succeed but nothing shows in the dashboard, turned out the test transport was on](https://croct.com/answers/events-missing-test-transport-enabled.md): Writing this up partly to confirm my diagnosis and partly so the next person finds it. Timeline: Last Tuesday we deployed a release that included new CI… - [attributes option ignored in fetchContent but works in useContent](https://croct.com/answers/fetchcontent-attributes-context-shape.md): working on a client project at our agency, passing attributes to influence the content resolution. on the client this works fine: so i did the same thing on… - [Are there ready-made templates for the Strapi integration?](https://croct.com/answers/strapi-integration-templates-start.md): Sorry if this is a basic question, I am a junior dev and got handed a proof of concept for personalizing our Strapi site. I have read the integration overview… - [How do I keep a long audience expression readable for the next person?](https://croct.com/answers/cql-let-variables-readable-audience.md): I review audience definitions our growth team writes, and this week I found a six-clause condition with the same string fragment repeated in four places. It… - [Following the A/B testing guide on the Strapi blog, stuck on the goal step](https://croct.com/answers/strapi-blog-guest-post-goal-step.md): Hello, I am working step by step through the guide about running A/B tests with Strapi on the Strapi blog. Everything worked until the experiment setup. The… - [Can our marketing team run Storyblok experiments without a dev each time?](https://croct.com/answers/storyblok-marketers-launch-without-devs.md): I work in growth marketing. Our dev team runs two-week sprints and the backlog is what it is, so any test I want to run today realistically ships in a month.… - [is the "single command" sanity scaffold for real?](https://croct.com/answers/sanity-cli-scaffold-one-command.md): hi all, saw a claim that you can scaffold a fully pre-configured Sanity project with croct in a single command. sounds a bit too good honestly, most "one… - [We already run the React SDK, does adding the Croct GTM tag double-track events?](https://croct.com/answers/gtm-tag-or-sdk-double-tracking.md): Our app uses @croct/plug-react with auto tracking enabled, and we fire some manual events like goalCompleted from checkout. Marketing now wants the Croct tag… - [Can marketers publish experiments themselves without touching the codebase?](https://croct.com/answers/marketer-publish-rights-without-code.md): Right now every banner change I want goes into a ticket, waits two sprints, and ships about two weeks after the moment it mattered. I am evaluating Croct… - [Storyblok + Next.js, serving personalized blocks without the flash of default content](https://croct.com/answers/storyblok-nextjs-no-flicker-render.md): Storyblok + Next.js App Router. Current setup swaps variants client-side and it flickers badly on slow connections, default hero renders then the variant pops… - [Cleanest way to mock Croct hooks in Vitest so component tests stay offline](https://croct.com/answers/vitest-mock-croct-provider-hooks.md): hi, trying to keep our component tests fully offline. Minimal repro: In jsdom the hook never resolves, so render() inside a Suspense boundary just… - [How do I keep staging traffic out of production data?](https://croct.com/answers/separate-dev-prod-environments.md): We are a fintech and our QA team runs regression suites against staging every night. Those sessions are showing up in our production audiences and analytics,… - [fetchContent works locally but returns auth errors in prod, API key looks fine](https://croct.com/answers/croct-api-key-issue-user-tokens-permission.md): Deployed our Next.js storefront with both env vars set: Locally everything works. In production every server-side fetchContent call fails with: I created the… - [Editor updated a Storyblok block but some visitors still see different content](https://croct.com/answers/storyblok-editor-sees-old-content-experience.md): Trying to reconstruct what happened here. One of our editors opened the homepage story in Storyblok, rewrote the hero block copy, clicked Publish, and… - [Previewing personalized variants alongside Sanity drafts before publishing](https://croct.com/answers/sanity-preview-experiences-drafts.md): I am a content strategist trying to get our review flow spelled out before we launch our first experiment. Today editors preview draft documents in Sanity… - [Is A/B testing even worth it on 8k visitors a month?](https://croct.com/answers/sample-size-planning-low-traffic-site.md): My site does about 8k visitors a month and roughly 120 conversions, and that is not a typo, we sell a niche B2B tool with a long sales motion. If I run a… - [The Strapi A/B testing plugin request has been open for ages, what are people using meanwhile?](https://croct.com/answers/strapi-ab-testing-while-plugin-request-open.md): Did my homework before asking. Searched the Strapi marketplace for an A/B testing plugin: nothing native. Found the feature request on Strapi's official… - [Every Vercel preview deployment fails with Unauthorized origin, do I add each URL?](https://croct.com/answers/vercel-preview-deployments-trusted-origins.md): We run Next.js on Vercel with @croct/plug-next and PR preview deployments enabled. Expected: Croct requests succeed on preview deployments like they do on… - [Scoring leads on a Strapi B2B site and targeting content by score](https://croct.com/answers/strapi-b2b-lead-scoring-custom-attributes.md): Our backend computes a lead score per visitor (0-100, based on pages viewed and firmographics). I write it to the profile like this: Then I built an audience… - [Adding fetchContent turned my statically generated pages dynamic, is that expected?](https://croct.com/answers/nextjs-fetchcontent-forces-dynamic-rendering.md): We run a marketplace with heavy ISR usage, thousands of prerendered pages. I added fetchContent from @croct/plug-next/server to one product landing page and… - [Does the Croct integration care if Strapi is self-hosted?](https://croct.com/answers/strapi-self-hosted-compatibility.md): We run self-hosted Strapi on our own infrastructure, and the admin panel sits behind a VPN, only the content API is publicly reachable through our frontend.… - [Agency embedding Sanity Studio per client app, how do we keep Croct tidy?](https://croct.com/answers/sanity-embedded-studio-multi-client.md): We are a Dutch agency shipping Next.js apps with an embedded Sanity Studio per client. Three of those clients are now getting personalization, and I want to… - [Can I combine interest targeting with an age range in one audience?](https://croct.com/answers/cql-interests-and-age-range.md): hi all, I am a marketer, not a developer. I want one audience for people who are interested in marketing or sales AND are between 17 and 30 years old. We… - [Modeling A/B variants with Strapi draft and publish is getting messy](https://croct.com/answers/strapi-draft-publish-variant-modeling.md): We duplicate entries as "hero-variant-a" and "hero-variant-b" and toggle publish state to switch between them. Editors keep publishing wrong one. Twice last… - [Read a case study claiming an A/B test live in 20 minutes, realistic on Storyblok?](https://croct.com/answers/storyblok-test-live-in-20-minutes.md): I came across the CVC case study claiming they launched an A/B test in about 20 minutes and I am honestly skeptical. With our current tool every test needs a… - [Setting up @croct/plug-react in a Vite project, env vars not picked up](https://croct.com/answers/vite-react-croct-provider-setup.md): hi all, scaffolded a fresh vite + react spa and wrapped teh app like this: but the provider complains the app id is missing. the variable is definitely in my… - [Do we have to migrate content out of Contentful to use Croct?](https://croct.com/answers/contentful-content-stays-put-misconception.md): Does adopting Croct mean moving our entries out of Contentful? Asking bluntly because I want a blunt answer. I read that Croct is a component CMS and my first… - [What are ct.client_id and ct.user_token cookies and how long do they live?](https://croct.com/answers/croct-cookie-lifetimes-nextjs.md): I am auditing all cookies on our Next.js site ahead of an internal privacy review and found two set by the Croct proxy: ct.client_id and ct.user_token. Our… - [Show different Sanity content to returning visitors, how to do it](https://croct.com/answers/sanity-returning-visitor-content.md): We use Sanity for our edtech site. I want a simple thing: first-time visitors see the explainer hero (what the product is), returning visitors see a sign-up… - [User matches two experiences on the same slot, which one wins?](https://croct.com/answers/audience-priority-overlapping-experiences.md): I have two experiences targeting our home hero slot. One is for visitors coming from our spring campaign, the other is for returning visitors. A returning… - [Moving from self-hosted Strapi to Strapi Cloud, anything to redo on the Croct side?](https://croct.com/answers/strapi-cloud-move-croct-unaffected.md): We are done maintaining our own Strapi instance (backups, upgrades, the usual) and moving to Strapi Cloud next sprint. My migration checklist so far: [ ]… - [Self-hosted Next.js standalone build in Docker, Croct env vars behave differently than on Vercel](https://croct.com/answers/nextjs-standalone-docker-croct-env.md): We self-host everything, no PaaS. Next.js with output: 'standalone' in Docker. The app ID comes up undefined in the browser even though the container… - [Pulling one user's profile and activity out of Croct for our CRM sync](https://croct.com/answers/export-user-profile-crm-sync.md): Building an internal enrichment job: when an account manager opens a company record in our CRM, I want to show that user's on-site behavior from Croct next to… - [The "personalization in one command" Storyblok demo post, does that hold for existing sites?](https://croct.com/answers/storyblok-refactoring-demo-one-command.md): Read the post on the Croct engineering blog about adding personalization to the Storyblok demo "in one command". Enjoyed the write-up, but demo repos are demo… - [Keeping our staging theme's test traffic out of production data](https://croct.com/answers/shopify-staging-theme-separate-environment.md): Hello, hoping someone can help with our release process. We test theme changes on a staging domain before pushing them to the live store, and I noticed our… - [First A/B test on a hero inside a Strapi dynamic zone, am I doing this right?](https://croct.com/answers/strapi-hero-ab-test-walkthrough.md): hi all, intern here and I got handed the A/B testing project. I followed the Strapi A/B testing guide and got this far: Mapped our homepage hero (a component… - [Does personalisation still work now that third-party cookies are going away?](https://croct.com/answers/personalization-after-third-party-cookies.md): We are a UK insurer, so I have to be cautious about what data any tool actually uses. Our previous personalisation vendor leaned heavily on third-party data… - [Saw Croct in the Strapi integrations directory, is it an actual plugin or something else?](https://croct.com/answers/strapi-integrations-directory-croct-listing.md): Hi all! I was browsing the official Strapi integrations directory and came across the Croct listing there. It talks about adding personalization and A/B… - [Estimating our Croct MAU from GA4 before picking a plan](https://croct.com/answers/forecast-mau-from-ga4-numbers.md): Building the budget sheet before we commit to a plan. GA4 shows roughly 34k active users per month for us, fairly stable over the last two quarters. Can I… - [First experiment on our Sanity pricing page, sanity-checking the setup](https://croct.com/answers/sanity-pricing-page-copy-test.md): As a PM, I want our first self-serve experiment to go smoothly, so I am sanity-checking the setup before we press go (pun intended). Where we are: the pricing… - [Getting Croct experiment data into BigQuery, via GA4 export or directly?](https://croct.com/answers/bigquery-export-croct-experiment-data.md): We already pipe GA4 into BigQuery. Now we want Croct variant assignments in the warehouse to join against revenue tables (some of which come from Snowflake… - [Show a store-opening banner to mobile users in California only](https://croct.com/answers/cql-mobile-users-in-one-state.md): hey all. We're opening our first flagship on the west coast next month, big deal for us. I want an announcement banner but only for people who'd actually… - [Is the storyblok-next-personalization GitHub repo a sane starter for a client project?](https://croct.com/answers/storyblok-next-demo-repo-starter.md): I am evaluating options for a freelance client build and found the croct-tech/storyblok-next-personalization repo on GitHub with a live demo on Vercel. Looks… - [Sending Storyblok experiment data to GA4, or is the built-in reporting enough?](https://croct.com/answers/storyblok-ga4-and-builtin-dashboards.md): We run experiments on Storyblok content through Croct and all our funnels live in GA4, where I spend most of my day as the growth analyst. I want experiment… - [Personalize the homepage by what articles someone has been reading?](https://croct.com/answers/cql-reading-history-content-affinity.md): Context first: I work at a news publisher and our editorial team wants readers who mostly consume sports coverage to get a sports-led module at the top of the… - [Geo personalization on a Strapi site when Strapi has no segmentation at all?](https://croct.com/answers/strapi-geo-personalization-without-segmentation.md): We run a travel site on Strapi with a React frontend. Product wants visitors from the US to see a different destination hero than visitors from Brazil, and so… - [someFunction() requires specifying the route parameter, Pages Router](https://croct.com/answers/nextjs-pages-router-missing-route-context.md): Bit of background: I spent ten years doing WordPress and moved to headless last year. Did a side project on the App Router where Croct worked great out of the… - [Growth plan at $100/mo, what do I actually get over free?](https://croct.com/answers/growth-plan-whats-included.md): hi all, I do growth marketing with zero dev support. I keep bumping into the free plan limits (mostly the single experiment) and I am trying to justify the… - [Will npx croct init clobber anything in an existing Next.js repo?](https://croct.com/answers/cli-init-existing-app-what-changes.md): Before I run any CLI scaffolding tool on a mature codebase, I like to know exactly what it intends to touch. Our Next.js repo is three years old, has a… - [Ad blockers are eating a chunk of our Shopify tracking, any first-party option?](https://croct.com/answers/shopify-ad-blockers-missing-events.md): I have been comparing event counts from our Shopify storefront against the server logs and there is a consistent gap, roughly 12 percent of sessions produce… - [Safe to change traffic allocation on a running experiment?](https://croct.com/answers/change-traffic-split-mid-experiment.md): We are one week into a headline experiment and variant B is showing an early lead. In the tool we used previously I could ramp a promising variant from 50 to… - [Is sanity-plugin-personalization enough to run A/B tests?](https://croct.com/answers/sanity-plugin-personalization-enough.md): I spent yesterday evaluating the official sanity-plugin-personalization for an upcoming test program. It does what it says, editors can model variants of a… - [Personalizing hero images from the Strapi media library without wrecking LCP](https://croct.com/answers/strapi-media-heavy-hero-images-lcp.md): We run a photography marketplace, so our pages are basically all image. The hero image from the Strapi media library IS the LCP element on every page, and we… - [Keeping ISR on Vercel while personalizing only a few Sanity routes](https://croct.com/answers/sanity-vercel-isr-selective-personalization.md): Our Sanity + Next.js site on Vercel leans heavily on ISR. Route table after build, roughly: We previously tried a middleware-rewrite pattern from another tool… - [How do I combine the Croct proxy with next-auth middleware in one middleware.ts?](https://croct.com/answers/withcroct-next-auth-middleware-compose.md): Good morning. Our application already exports the next-auth middleware to protect the routes under /app and /settings. We are now integrating Croct, and the… - [Our whole site sits behind a CDN, where does personalization fit?](https://croct.com/answers/cdn-cached-pages-with-personalization.md): I do platform engineering at a travel site. Our request path today is simple: Every page is the same for everyone, which is exactly why the hit ratio is so… - [Getting "Not plugged in" in one place and "Conflicting app ID" in another](https://croct.com/answers/not-plugged-in-conflicting-app-id.md): Hey, I am the intern who got handed the A/B testing project this sprint so bear with me. The site already had a Croct script tag install in the base layout… - [How does the Visual Editor behave once a block is personalized?](https://croct.com/answers/storyblok-visual-editor-personalized-variants.md): The editors at my client live in the Visual Editor all day, and before I roll personalization out to more blocks I need to know it won't break their preview.… - [Best practice for an agency running Croct across several client Storyblok spaces?](https://croct.com/answers/storyblok-agency-client-spaces.md): Tech lead at an agency, we manage five client sites, each in its own Storyblok space. We are rolling Croct out across three of them this quarter and I want to… - [Funnel exploration in GA4 broken down by experiment variant, sanity check my setup](https://croct.com/answers/ga4-funnel-exploration-by-variant.md): We are running a checkout experiment in Croct. The results panel gives me the topline conversion per variant, which is fine, but I want to see where exactly… - [Best practice for choosing server-side vs client-side content rendering?](https://croct.com/answers/ssr-vs-client-rendering-tradeoffs.md): I am standardizing a Next.js starter template for our agency and want to settle on a sensible default before we roll it out across client projects. Croct… - [Evaluation API keeps returning a missing client id error from my curl test](https://croct.com/answers/evaluation-api-missing-client-id.md): Testing the Evaluation API before wiring it into our backend. This command returns a problem response about a missing client id even though the API key is… - [Wiring up Next.js + Sanity + Croct, what goes where?](https://croct.com/answers/sanity-nextjs-croct-wiring.md): Fullstack dev, App Router project with Sanity as the CMS. What I have done so far: installed @croct/plug-nextadded the provider in the root layoutmy Sanity… - [Exclude users who already have any of these interests from an audience](https://croct.com/answers/cql-contains-none-of-exclusion.md): Hello! My goal: we are promoting a beginners guide, and I would like to exclude anyone who is already interested in our advanced topics, since the guide would… - [Strapi has no user segmentation at all, how are you doing geo-targeted content?](https://croct.com/answers/strapi-geo-targeting-no-segmentation.md): client wants different homepage sections for visitors from Germany vs Poland. Strapi side is fine, content is modeled. Problem is targeting. Strapi has zero… - [Migrating to Strapi 5 while two revenue experiments are running, risky?](https://croct.com/answers/strapi-v5-migration-live-experiments.md): We have two live Croct experiments on our highest-revenue pages, both fed by Strapi content, both about three weeks in, so the blast radius is not small. The… - [Travel site on Storyblok, combining campaign source and geo across a whole journey](https://croct.com/answers/storyblok-travel-campaign-geo-journeys.md): Hi everyone! We run a travel booking site on Storyblok and I have a very concrete use case. We are launching a flight-deal campaign for Mexico City and I want… - [Croct works in local dev but the turborepo build says Missing environment variable](https://croct.com/answers/turborepo-missing-croct-env-vars.md): We recently moved our Next.js app into a turborepo alongside two other packages. Locally everything runs fine with next dev, but CI builds now fail with a… - [How do I target a query string parameter that has a dash in its name?](https://croct.com/answers/cql-query-param-with-dashes.md): Trying to build an audience for visitors who land with ?coupon-code=10off. This works fine for another param: but this one gets flagged by the editor: The… - [Is there an A/B testing plugin for Strapi?](https://croct.com/answers/strapi-ab-testing-plugin-exists.md): I went through the Strapi marketplace twice and could not find anything for A/B testing. The closest thing is an open feature request on the Strapi feedback… - [Using useEvaluation as a feature flag in React, how do I handle failures safely?](https://croct.com/answers/react-useevaluation-feature-flag-pattern.md): I'm gating a new checkout flow behind useEvaluation in a React SPA. Two questions before this goes live: What should the component render while the query is… - [Shopify setup, GTM tag or subscribing to Shopify events directly?](https://croct.com/answers/shopify-gtm-tag-vs-direct-events.md): Setting up Croct for a Shopify client. I have both a GTM container and full access to the theme code, so both documented setup paths are open to me: the Croct… - [Is the $100/mo Growth price fixed, and what does annual actually save?](https://croct.com/answers/annual-billing-negotiation-room.md): Bootstrapped, so I negotiate everything and read billing terms before feature lists. Last testing vendor auto-renewed me past a missed cancellation window… - [Moving to React 19 with Next.js, anything to watch with @croct/plug-next?](https://croct.com/answers/react-19-plug-next-compatibility.md): Upgrading to React 19 the same week it landed in our Next.js version, because why wait! Most of the app is already on Server Components and the codemod run… - [One variant shows 1200 visitors, the other 950, why is the whole test still in progress?](https://croct.com/answers/in-progress-flags-per-variant.md): Hi friends! My dashboard right now looks like this: Variant A: 1,204 visitors, 41 conversions Variant B: 953 visitors, 32 conversions Total is over 2,000… - [Two concurrent middleware-rewrite experiments means four page variants, this cannot scale](https://croct.com/answers/nextjs-middleware-rewrite-combinatorics.md): We implemented the standard middleware rewrite pattern for A/B tests: assign a variant in middleware, set a cookie for stickiness, rewrite to the variant… - [How do I count how many slots we need, is every page a slot?](https://croct.com/answers/counting-slots-for-plan-sizing.md): I am mapping our website in a doc before we pick a plan and I have hit a definitional question. Our site has about 40 pages. Does that mean I need 40 slots?… - [Showing different Storyblok hero blocks by visitor country](https://croct.com/answers/storyblok-geo-targeted-blocks.md): We run a travel site on Storyblok and want the homepage hero to feature different destinations depending on the visitor's country. US visitors get domestic… - [Sorry if this is dumb but where do I pass appId to CroctProvider in Next.js?](https://croct.com/answers/nextjs-croctprovider-no-appid-prop.md): Sorry if this is a dumb question, I am a junior dev at my first job and I have been stuck on this for longer than I want to admit. I followed the React docs… - [Custom attribute set with custom.expertise but the audience never matches](https://croct.com/answers/cql-custom-attribute-prefix-mismatch.md): Write side: Read side, in the audience editor: Estimator shows zero matches. The docs example I found reads the attribute without any prefix which looks… - [Piloting on a single dynamic zone, what does the rollout to the rest of the site look like?](https://croct.com/answers/strapi-pilot-one-dynamic-zone-rollout-plan.md): Engineering manager at an edtech company. I have approval for a pilot limited to the pricing page dynamic zone in Strapi. Before we start phase one I want to… - [What exactly do I get on the free plan before I need to pay?](https://croct.com/answers/free-plan-limits-explained.md): I am the CTO of a 5-person startup evaluating Croct for our marketing site and I want the hard numbers before I put it in front of the team. The pricing page… - [Personalizing Sanity content without blowing up GROQ/CDN caching](https://croct.com/answers/sanity-groq-cdn-caching-tension.md): We run a marketplace on Sanity and lean heavily on the CDN for GROQ query performance. Nearly every content request is a cache hit today and our page latency… - [We built A/B tests with middleware rewrites and cookies, is a slot-based approach actually simpler?](https://croct.com/answers/middleware-rewrite-ab-tests-vs-slots.md): Some context first because I think it matters. I consult for a mid-size B2B company running the classic Vercel pattern: middleware picks a variant, rewrites… - [Recommended flow for testing an experience in dev before production?](https://croct.com/answers/promote-experience-dev-to-prod.md): I have been burned enough times by "just edit it in prod" workflows that I want a proper promotion pipeline before we let anyone publish experiences. What I… - [Sanity field-level i18n arrays and preferredLocale, who resolves the language?](https://croct.com/answers/sanity-i18n-arrays-preferredlocale.md): We run a Norwegian public sector site where documents store translations as internationalized arrays per field, so a title is [{_key: "nb", value: "..."},… - [Ad blockers are blocking Croct requests, how do I keep evaluation working?](https://croct.com/answers/ad-blockers-blocking-croct-requests.md): Seeing this in devtools with uBlock enabled: Looks like an EasyList rule. How are people routing around this, is there a supported setup or does everyone just… - [Upgraded to Next.js 15 and cookies() is async now, does the Croct proxy need changes?](https://croct.com/answers/nextjs-15-async-request-apis-proxy.md): Bumped a project to Next.js 15. Request APIs like cookies() and headers() are async now. Do the Croct proxy or my fetchContent calls need code changes, or… - [How do I stop Croct from tracking anything until the user accepts our consent banner?](https://croct.com/answers/defer-tracking-until-cookie-consent.md): I am integrating Croct on a site that operates under German data protection requirements, behind a consent management platform. Our requirement is strict:… - [Can we adopt this gradually, starting with a single Sanity component?](https://croct.com/answers/sanity-start-with-one-component.md): Dev at a Swedish SaaS. We want to pilot personalization on the homepage hero only. Leadership is on board with an experiment but nobody wants a project that… - [Can we adopt Croct gradually, starting with one Strapi component?](https://croct.com/answers/strapi-gradual-adoption-one-component.md): I am the tech lead at an agency. Client site runs on Strapi and the whole thing is stable, so I want the lowest-risk pilot possible: personalize only the… - [What exactly lands in GA4 from the Croct integration, and any caveats?](https://croct.com/answers/ga4-croct-dimensions-caveats.md): Before I enable the GA4 export I want to know the exact payload, not a marketing summary. What categories of data does Croct send, and do I need to plan… - [Our CSP forbids inline script injection and the visual testing tool cannot function, alternatives?](https://croct.com/answers/strict-csp-vs-injected-experiments.md): Platform engineer at a bank subsidiary, so our Content-Security-Policy is deliberately strict: script-src with nonces only, no unsafe-inline, no unsafe-eval.… - [After adding Croct to our Sanity site, who edits what where?](https://croct.com/answers/sanity-editor-workflow-who-edits-what.md): Hi all! Our editors know Sanity Studio inside out, and they just received Croct access so they can work with experiences. Before the questions start flooding… - [Huge lift in the first three days, now shrinking daily. Novelty effect?](https://croct.com/answers/novelty-effect-early-spike.md): Launched a flashy new hero variant last Tuesday. Days 1-3 it was showing about +30% on our signup goal and yes, my CEO has already screenshotted the day-2… - [Should feature rollouts and A/B tests live in the same tool?](https://croct.com/answers/feature-flags-vs-experiments-workflow.md): I am mid-way through a tooling consolidation review. Today we run a feature flag SDK for engineering rollouts and a separate testing tool for marketing… - [Does shortening the session timeout reduce what we store about visitors?](https://croct.com/answers/session-timeout-privacy-implications.md): I am tuning data minimization as part of our privacy engineering work and have three questions. What exactly does the session timeout control?If I shorten it… - [Docs say to export proxy but every tutorial I find uses middleware, which is right?](https://croct.com/answers/nextjs-proxy-export-middleware-rename.md): Setting up @croct/plug-next on a fresh Next.js app. The current docs tell me to create a middleware file that re-exports something called proxy, but every… - [What should EU customers know about where Croct processes data?](https://croct.com/answers/eu-data-processing-questions.md): Running vendor due diligence before we request a DPA. My checklist before any contractual conversation: What is publicly documented about the infrastructure… - [Requests started failing after we enriched context attributes with a big object](https://croct.com/answers/context-attributes-30-entry-limit.md): We run a marketplace and started passing our product object as context attributes so audiences could target by category, seller, price range, etc. Worked at… - [Holiday campaign, should I use date conditions or scheduled publishing?](https://croct.com/answers/seasonal-audience-vs-scheduled-publishing.md): Hello everyone. I am preparing our Christmas campaign and I see two ways to run it, and I would like to understand the tradeoff before I commit. Option one:… - [Ran a render-blocking audit, why does Croct not show up at all?](https://croct.com/answers/render-blocking-audit-zero-croct-scripts.md): I audit third-party tags for clients as part of technical SEO work, and one of my checklist items is finding the testing tool's snippet in the critical path,… - [Building a GA4 exploration report with Croct audience and variant dimensions](https://croct.com/answers/ga4-exploration-report-croct-dimensions.md): Hi all! We connected the Croct export to our GA4 property last week and the data is flowing in. Now I want to build a free-form exploration comparing… - [What happens to useContent if the Croct API is unreachable?](https://croct.com/answers/react-fallback-content-network-failure.md): We run a travel site and a lot of our trafic comes in on flaky mobile connections. Before we roll personalization out to the hotel landing pages I need to… - [Target engaged sessions with no order yet, is this the right query?](https://croct.com/answers/cql-session-duration-and-orders.md): We see a segment of visitors who browse for 6-8 minutes, view a handful of products, and leave without buying. I want to nudge them with an incentive before… - [GROQ pattern for passing the Sanity document as the slot fallback](https://croct.com/answers/sanity-groq-default-as-fallback.md): Hi all. I am wiring Croct into a Sanity + Next.js site and want a clean pattern where one GROQ query fetches the default hero document and that same shape… - [Editors keep publishing the wrong duplicate: modeling variants as separate Sanity documents backfired](https://croct.com/answers/sanity-variant-document-duplication-editors.md): Sorry in advance for the long post but the context matters. A year ago we decided to model page variants as separate Sanity documents. Homepage has homepage-a… - [We were mid-evaluation of Ninetailed when the Contentful acquisition dropped, proceed or pause?](https://croct.com/answers/ninetailed-mid-evaluation-acquisition-news.md): We were about two weeks from signing with Ninetailed when the August acquisition by Contentful was announced. Evaluation matrix was done, references checked,… - [Showing a banner only when visitors land with our coupon link](https://croct.com/answers/shopify-coupon-link-banner-liquid.md): ok so our email links look like oursite.com/?coupon-code=10off and I want a banner that only shows for people arriving through those links. I went into the… - [Exact fallback behavior when a personalized fetch fails on a Sanity site](https://croct.com/answers/sanity-fallback-content-guarantees.md): We are evaluating Croct for an e-commerce site built on Sanity and Next.js 14 (App Router, @croct/plug-next), and I need to document the exact failure… - [If I pause an experiment, what do visitors see?](https://croct.com/answers/pause-experiment-what-visitors-see.md): Running a homepage hero test for a client and the stakeholders want everything frozen during a review week. If I hit pause on the experiment, what do visitors… - [What happens to my Strapi content if Croct is unreachable?](https://croct.com/answers/strapi-fallback-when-croct-unreachable.md): A big share of our users are on slow mobile connections in Nairobi. Our content comes from Strapi and I am evaluating adding personalization on top, but I do… - [Testing a whole landing page layout vs a single Storyblok block](https://croct.com/answers/storyblok-full-page-vs-block-test.md): CRO consultant here, recently moved a client from Google Optimize to a Storyblok stack with Croct. On Optimize my default for big layout changes was a… - [What error format does the Croct HTTP API return? Building a typed client](https://croct.com/answers/http-api-problem-json-error-handling.md): Writing a thin typed client for the Content and Evaluation APIs. Need the error envelope. Is it consistent across endpoints or per-endpoint shapes? Want to… - [Rolling out a test winner during our November code freeze](https://croct.com/answers/shopify-code-freeze-rollout-winner.md): We enter a code freeze from mid-November through early January, standard practice for us going into peak. In past seasons this created a frustrating pattern:… - [A/B testing our demo request CTA, how do goals hook up to the form?](https://croct.com/answers/demo-request-cta-experiment-b2b.md): We launched a copy experiment on our demo request page last week, two CTA variants, 50/50 split. Expected: the results panel shows conversions as demo… - [One Storyblok space per market, how should Croct workspaces map to that?](https://croct.com/answers/storyblok-space-per-market-mapping.md): Hello, our company runs separate Storyblok spaces for the TR, DE, and UK markets, each with its own team. We are adding Croct and I want to plan the structure… - [Where do I actually see A/B results when content lives in Strapi?](https://croct.com/answers/strapi-experiment-results-not-in-admin.md): I am a marketing technologist, more tool-stack than code. We have an experiment running on a hero section, content managed in Strapi, experiment set up in… - [What duration units does CQL accept, only minutes?](https://croct.com/answers/cql-duration-units-supported.md): Saw this in the docs and it works fine: I wanted a stricter threshold for a course-completion nudge so I tried a couple variations with seconds before… - [how do i actually link a storyblok block to a croct slot?](https://croct.com/answers/storyblok-link-block-to-slot.md): I have the app installed on our react frontend and a hero block ready to go, but I'm fuzzy on the conceptual mapping. Is a slot supposed to be one per block,… - [Structuring Contentful entries for variants without drowning editors in duplicates](https://croct.com/answers/contentful-variant-entry-duplication.md): Content strategist, not a developer, so forgive the non-technical framing. Our current process for testing copy: duplicate the whole entry, rename it… - [Experiment has run for 5 days and still says "in progress", is it broken?](https://croct.com/answers/experiment-stuck-in-progress.md): hi, I got handed our A/B testing project and I am worried I set something up wrong. The experiment has been running for 5 days now and the dashboard still… - [The under-90ms P95 claim, does that include network or just server time?](https://croct.com/answers/sub-90ms-p95-what-it-covers.md): Every vendor publishes a latency number and every vendor measures it wherever it looks best. So, the "end-to-end response times under 90 milliseconds at P95"… - [We heavily customized Sanity Studio, does that affect the Croct mapping?](https://croct.com/answers/sanity-custom-studio-affects-mapping.md): Before I propose Croct to a client, I want to rule out rework in their Studio. The setup is heavily customized: a custom desk structure grouping documents by… - [Where exactly do croct.identify and croct.anonymize go in a React login flow?](https://croct.com/answers/react-identify-anonymize-auth-flow.md): Wiring Croct into a JWT-based login flow and I want to get the sequencing right the first time. Our auth state lives in a context provider. Questions: Should… - [Duplicating Storyblok folders per test variant is drowning our editors, better pattern?](https://croct.com/answers/storyblok-variant-folders-content-sprawl.md): so here is the mess we made for ourselves. Every time we run an A/B test we duplicate the whole story folder, rename it variant-b, and point the test at the… - [Hit the 1 experience limit on free, do I have to delete my running experiment?](https://croct.com/answers/experience-quota-reached-workaround.md): so we have an A/B test running on our signup hero. free plan. now I want to launch a personalization experience for returning users on a different slot and… - [Ninetailed got acquired by Contentful, what does it mean for non-Contentful users?](https://croct.com/answers/ninetailed-acquired-should-we-worry.md): So the acquisition news from last month finally reached our planning meeting. We use Ninetailed for personalization today, and here is the awkward part: we… - [Testing two free-shipping thresholds on a classic Shopify theme](https://croct.com/answers/shopify-liquid-free-shipping-threshold-test.md): I manage a kitchenware store on a regular Shopify theme, nothing headless. We do about 60% of revenue in Q4 and I want to test a free-shipping banner at two… - [Measured our anti-flicker snippet hiding the page for 800ms on 3G, what architecture avoids this class of problem?](https://croct.com/answers/anti-flicker-hidden-page-architecture.md): Numbers first. WebPageTest, emulated 3G, product landing page: body hidden by the testing tool's anti-flicker snippet from 0ms until 812ms, well past where… - [croct.identify throws Invalid user ID when passing our numeric customer ID](https://croct.com/answers/invalid-user-id-identify-number.md): Working on an ecommerce site in Tokyo, @croct/plug 0.16 on the storefront. On login we call croct.identify(user.id) where id comes from our backend as a… - [Is there a technical syntax for CQL or only the English-like style?](https://croct.com/answers/cql-natural-vs-technical-syntax.md): Every CQL example I find looks like user's score is greater than 90. Reading that in a code review diff is painful, apostrophes and prose where I expect… - [Trigger a welcome experience only on the very first page of a session](https://croct.com/answers/cql-session-is-starting-first-page.md): Picture the moment: a traveler who booked with us before comes back to browse. I want a small "welcome back" module to greet them right when they land, and… - [When should I use the Slot component instead of the useContent hook?](https://croct.com/answers/react-slot-component-vs-usecontent-hook.md): Hi all, reading through the React SDK docs and I see there's both a component and a useContent hook that seem to do the same job. Is there an actual… - [Does adding the Croct tag slow down our mobile theme?](https://croct.com/answers/shopify-liquid-tag-weight-mobile.md): I run a small Shopify store and do my own theme edits. Last year I installed a CRO app that added an "anti-flicker" snippet and it held my whole page blank on… - [Do we still need Segment if Croct builds profiles and audiences itself?](https://croct.com/answers/still-need-segment-cdp-with-croct.md): Honest question from someone drowning in martech line items. We pay for Segment and if I am truthful with myself, 80% of what we use it for is building… - [Should the experiment goal be purchases or add-to-cart clicks?](https://croct.com/answers/primary-goal-macro-vs-micro.md): Hello everyone. I am a CRO specialist at an agency and I keep having the same debate with clients. They want "purchase" as the primary goal on every test,… - [How do I track a goalCompleted event when a user clicks the signup CTA?](https://croct.com/answers/usecroct-goal-completed-button-click.md): Running an experiment on our signup page and the conversion goal should be the click on the main CTA button. React SPA with @croct/plug-react. Which hook… - [Should we install Croct through Google Tag Manager or the SDK directly?](https://croct.com/answers/gtm-tag-vs-sdk-install-decision.md): I sit between marketing and engineering, and I own our GTM container. We are setting up Croct and I want to make the right call before asking devs for sprint… - [What do visitors see if Croct is unreachable or no experience matches?](https://croct.com/answers/storyblok-fallback-when-croct-down.md): A big share of our audience browses on slow mobile connections, so I am very careful about anything I add to the render path. Before I propose putting a… - [One audience for every landing page under our /promo/ path?](https://croct.com/answers/cql-landing-page-pattern-match.md): As a growth PM, I want anyone whose session started on any of our promo landing pages to fall into one audience, so that they get consistent follow-up… - [We are on a classic Liquid theme, not headless. Can we still use Croct?](https://croct.com/answers/shopify-liquid-theme-croct-setup.md): I spent years doing WordPress and only recently moved into ecommerce, where I inherited a Shopify store on a Dawn-based Liquid theme. The team wants to start… - [Client-side flag SDK shows the control for a beat before the variant, users notice](https://croct.com/answers/react-flag-sdk-default-flash.md): So I finally screen-recorded this to prove I wasn't imagining it. Frame by frame: page paints with the control hero at 0ms, variant hero swaps in at roughly… - [ISR serves everyone the same HTML, where does personalization even fit?](https://croct.com/answers/nextjs-isr-everyone-same-html.md): Our marketing site is fully static with ISR and it is fast and cheap, which I love. Now the growth team wants per-audience hero content on the homepage and a… - [Testing product hero images stored in Sanity, does the image live in Croct or Sanity?](https://croct.com/answers/sanity-product-image-variant-test.md): i want to A/B test two product hero images against each other. What I cannot figure out from the docs is where the variant image actually lives. Is the second… - [How do you keep a tracking plan sane with Croct auto events plus custom events?](https://croct.com/answers/tracking-plan-governance-croct-events.md): I own the tracking plan at a B2B SaaS and Croct is joining the stack. Before the team starts firing events ad hoc I want to document two columns properly:… - [Rebuilding a WordPress site on Storyblok, worth adding personalization during the migration?](https://croct.com/answers/wordpress-to-storyblok-croct-rebuild.md): So after fifteen years of WordPress this is my first headless build, we are rebuilding a client site on Storyblok and honestly it already feels like a… - [Testing a headline and a CTA color, one multivariate test or two A/B tests?](https://croct.com/answers/ab-n-vs-multivariate-choice.md): hi all, marketing generalist standing up our first real testing program. At my previous employer the enterprise tool started around $36k a year so testing was… - [How does mapping Sanity components to Croct slots work?](https://croct.com/answers/sanity-map-components-to-slots.md): Before I propose this internally I want to make sure I understand the model. Our Sanity site is heavy on portable text and we have a well-established schema… - [How do I build an audience from UTM parameters?](https://croct.com/answers/cql-utm-campaign-audience.md): I run paid campaigns and our landing URLs look like this: I want visitors from these google cpc ads to see a headline that matches the ad copy. I am not a… - [How do I map a Strapi dynamic zone to a Croct slot?](https://croct.com/answers/strapi-dynamic-zone-slot-mapping.md): Coming from years of WordPress, so headless is still new to me. Our landing page is built from a Strapi dynamic zone with a handful of components (hero,… - [CORS "Unauthorized origin" errors after deploying to our staging subdomain](https://croct.com/answers/unauthorized-origin-staging-domain.md): Deployed our site to staging.brand.com and every single Croct request now fails. Production on brand.com works fine, same code, same app ID. Console shows:… - [What are the data retention windows on each Croct plan?](https://croct.com/answers/data-retention-and-profile-deletion.md): I am documenting the data lifecycle of our stack for our internal records of processing activities, in the spirit of Article 30. I was pleased to find that… - [Any nonprofit or early-stage startup pricing?](https://croct.com/answers/nonprofit-startup-pricing-options.md): I lead digital at a UK charity. We would like to personalize our donation pages and run the occasional test, but every pound of tooling spend comes out of… - [University site on Strapi, matching program pages to the ad campaign people came from](https://croct.com/answers/strapi-university-program-pages-campaign.md): Hi everyone, I work in the marketing office of a mid-size university and I could use some guidance from people who have done this before. We run paid… - [Legacy jQuery site, can I fetch slot content and inject it into the DOM myself?](https://croct.com/answers/jquery-site-fetch-slot-dom-update.md): I maintain a site that was built in 2009 and it is jQuery all the way down. No bundler, no build step, no npm. Just script tags and a server that serves HTML… - [Ex Google Optimize user with a Shopify store, what is the migration path?](https://croct.com/answers/google-optimize-shopify-replacement.md): We ran our entire testing program through Google Optimize until the sunset last September, and I will admit the program has been on vacation ever since. Time… - [Coming from Google Optimize, will we get the same flash of original content?](https://croct.com/answers/google-optimize-refugee-flicker.md): Our marketing team is one of the many orphans from the Google Optimize sunset. We are shortlisting replacements and I have one scar that drives the whole… - [Page goes blank when I add useContent, no error in console](https://croct.com/answers/react-usecontent-suspends-blank-screen.md): Adding useContent to our React app (old CRA setup) makes the componet tree render nothing while content loads. No error in the console, the page is just blank… - [Hi all, can we add Croct with just a script tag? No build pipeline on our site](https://croct.com/answers/script-tag-install-without-build-step.md): Hi all. I run growth for a small company and our brochure site is hand-maintained HTML behind a legacy CMS. There is no npm, no build pipeline, nothing modern… ## Optional - [Documentation](https://docs.croct.com): Guides and API references for the Croct platform. - [Blog](https://blog.croct.com): Articles about personalization, A/B testing, and content management.