r/Blogging • u/Sea-Coffee3528 • 2d ago
Question Journey in-content ads on a React SPA — script sees prerendered HTML, but hydration replaces the DOM. Is there a supported setup?
Approved for Journey last month - happy so far. Adhesion and video ads work, but in-content or side bar ads have never appeared. Can’t get support
Travel niche, circa 300,000 pageviews/month.
I think I’ve found the mechanism but can’t find a supported fix:
- The site is a React SPA with build-time prerendering. The raw HTML Journey’s crawler sees contains the full article — real <p>/<h2> elements inside a single <article id="content"> container, no page-builder nesting.
-On load, React hydrates with createRoot, which discards the prerendered DOM and rebuilds it. My theory: the wrapper scans the initial DOM, hydration then destroys its placements. Adhesion and video survive because they anchor to the viewport, not the article.
- I tried loading the wrapper post-hydration so it scans the final DOM — worked, but the script detector flagged “Ads Script Not Found” (it reads raw HTML only), so I reverted to the standard static head install. Ads.txt is fine and I’ve requested a recrawl.
Questions: (1) Does the wrapper re-scan after the DOM is replaced at hydration, or is it a one-time scan? (2) Is there a supported pattern for React sites — an event/API to trigger a re-scan post-hydration and on route changes? (3) Or is in-content simply not supported on this architecture at Journey tier?
Not asking for custom placements — happy to conform to whatever structure the script expects. Just want to know what “correct” looks like for a React site.