TLDR; - I have a free modern web app (sites built with React.js, Vue.js, Angular.js frameworks, etc.) with 3.5M+ page views a month, Google Organic traffic with flawless qualities (bounce rate, return visitors, time on page, pages per session).
- Web app monetization with ads is the same as one would monetize a mobile app, but web apps are not compatible with either AdMob or AdSense, that's where things get interesting
- I have been struggling to make AdSense show ads on it. The website is approved, ad placeholders are inside the app but I have a “Ad serving has been limited: Invalid traffic concerns” flag sitting there for 3 months already
- I am not trying to game the system, I want to have a legit AdSense(?) integration to monetize my web app. But couldn't find any guidelines for this setup anywhere
--------------------------------------------------------------------------
The responses on the topic found online are quite controversial, various AdSense forums threads are closed with the conclusion that AdSense just won't work with web apps.
While there are official Google posts
https://www.google.com/intl/en_uk/adsense/start/resources/3-types-of-sites/ [google.com] claiming that AdSense supports web tools (not web apps per se, but same concept) that only adds to frustration.
The issue is not making it work technically/get the site approved - that's doable although a bit tricky, but making Google "digest" your app and hop all the loops to actually start showing ads within it.
Coming from a startup world it's common for us to structure the SEO around content on landing pages/blog and placing an actual app under /app subfolder or app. subdomain. Not worrying much about what Google thinks about the app itself since usually it's under registration, /noindex and is being monetized by subscriptions/direct sales.
But my current situation is completely different. No login required to use the app and I actually need G to dig into the app, crawl it and show ads.
And this brings many concerns: 1) Googlebot crawler is not really the same as AdSense crawler
2) Apps usually have almost no content for AdSense to crawl and show ads AND Apps are dynamic (loading screens, scrolls, dynamic content, interactions, etc)
3) Ad placement policy. Most stuff that is allowed for mobile ads (AdMob) are prohibited in AdSense e.g. ads on transactional pages (loading, processing, transactional pages), ads above the fold or ads in floating/sticky boxes.
3.1) While AdSense Auto-ads shows them no probs (Anchor, Vignette ads) I am not sure how Auto-placements even work with web apps and how to tackle this placement problem as a whole
My plan to solve it: 1) Prevent Googlebot from indexing /app pages while allowing AdSense bot crawl/”index” them. To prevent /app pages from showing in SERP, any possible duplicate/thin content issues and other stuff
2) Develop Advanced Server Side Rendering: all app pages should be accessible directly and follow webmaster guidelines, which implies advanced user flows/journeys e.g.:
2.1) Structure all app pages/views like normal web page e.g.:
Navigation -> Title/subheader -> {Demo} content replaced with Dynamic content -> Static content (text/images) This is not normal for web apps but looks like the only way to win
2.2) AdSense can access and crawl every app page/section with ads as static one with "demo" content that will be replaced by dynamic preserving the same structure when real user interacts with the app
2.3) Users coming from a website landing page can work with app normally
3) No ideas
The Main Question Is this plan legit, would it work, did I miss anything, any caveats? Looking forward for any help and hope this thread would be helpful for everyone facing the same issue
P.S. Additional options would be just ditching AdSense and going exclusively with AdManager or custom Ad Networks staying with a normal low-content web app, but I haven’t worked with them a lot before and envision a lot of friction there, especially with the latter.
[edited by: martinibuster at 3:53 pm (utc) on Jan 27, 2021]