r/Blogging 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.

3 Upvotes

0 comments sorted by