AdSense on Bilingual Sites: The Gotchas No One Tells You

Running AdSense on an English + Chinese (or any bilingual) site in 2026: how AdSense detects language, why Chinese RPM runs lower, the policy edges, and the structural calls to make before you apply.

AdSense was built for single-language sites, and its docs quietly assume that. Run a bilingual site (English + Chinese, English + Spanish, any combo) and you hit specific traps the standard guides skip: how AdSense actually decides what language to serve, why your second-language pages earn a fraction of your English ones, a few policy edges, and whether to apply with one domain or split. Here is the bilingual-specific version, with the 2026 numbers.

TL;DR

  • Apply with the one bilingual domain, not two. AdSense reviews and approves the whole site as a unit, and splitting just multiplies your legal pages, payout setup, and hreflang work.
  • AdSense supports 60+ languages, including Chinese (Simplified) and Chinese (Traditional), so a Chinese + English site is fully eligible. (official list)
  • AdSense picks ad language from page content, not from your <html lang> tag. Keep each page monolingual and the right ads follow automatically.
  • Expect Chinese pages to earn roughly 30–60% of English RPM. US advertiser CPC sits near $0.61 versus around $0.11 for China-targeted clicks (as of June 2026), so the gap is the market, not a bug.
  • Set hreflang and a matching <html lang> for Google Search, then use one ad container that survives both Latin and CJK line lengths.

How AdSense actually decides which ads to serve

The single most repeated myth in bilingual-AdSense advice is that the <html lang="zh"> attribute controls ad language. It does not. AdSense’s crawler determines a page’s primary language from the content itself: keyword analysis, word frequency, font usage, and the surrounding link structure (how ads are targeted). It then serves ads in the matching language, “even if your site contains multiple supported languages” (Google’s own wording).

What this means in practice:

  • A page whose body is 95% Chinese will get Chinese ads regardless of a stray lang="en" in the template.
  • The <html lang> attribute and hreflang still matter a lot, but for Google Search crawling, indexing, and the language/region picker, not for ad-language selection. Setting them correctly is good SEO hygiene and avoids duplicate-content confusion at review time.
  • The real failure mode is mixed-language pages: a Chinese article with an English-heavy sidebar, footer, or comment block can confuse the language signal and serve mismatched ads. Keep each page’s visible content in one language.

So the rule is simpler than the old advice: don’t obsess over the lang attribute for ad targeting; keep each page genuinely monolingual in its main content.

Apply with one domain (the approval math)

AdSense’s 2026 approval bar is the same for bilingual sites as for any other, and a single application covers the whole domain:

  • HTTPS only. An HTTP site is auto-rejected.
  • Original, human-written content. Thin, spun, scraped, or unedited AI text sharply lowers approval odds. For a bilingual site this is the trap: machine-translated second-language pages read exactly like the low-value content reviewers are trained to reject. Your Chinese pages need to be genuinely written or heavily edited, not run through a translator.
  • A real corpus. Plan for roughly 15–25 substantive posts (most guides cite 800–1,500+ words) before applying, counting your primary language; the translated set strengthens the application but doesn’t substitute for depth.
  • Standard legal pages: About, Contact, Privacy, Disclaimer, Terms. One set per language ideally, but at minimum one accessible set.
  • Clear mobile navigation, including a working language switcher.

You select one primary language during signup. That choice doesn’t restrict you: once approved, Google serves the right-language ads per page automatically across every supported language on the domain. Splitting into two AdSense accounts buys you nothing and creates duplicate payee, tax, and verification overhead.

Why your Chinese RPM runs lower (and what’s normal)

This is the number that surprises people. It is not a misconfiguration; it is the advertiser market.

Signal (as of June 2026)English / US audienceChinese audienceNotes
Typical advertiser CPC~$0.61~$0.11~5.5x gap; reflects ad-spend and purchasing power
Relative RPM you should expectbaseline (100%)~30–60% of ENThe “normal” range for the same content
Ad-inventory depthvery largesmaller, thinner verticalsFewer advertisers competing per impression

Figures are directional market data, not your account guarantee; your own niche, geo mix, and ad density move them.

The practical read: if your Chinese section lands at 30–60% of English RPM, that’s expected, plan revenue projections around it. If it’s below ~20% of English RPM, treat that as a config smell, not a market fact, and check:

  1. Are ads even rendering? Open the Chinese section in a private window and confirm units fill.
  2. Is the visible content mixed-language, splitting the signal?
  3. Is geo-targeting or a region filter quietly suppressing fill?

Ad placement that survives both languages

Chinese characters are wider and denser than Latin text, and Chinese lines don’t wrap on spaces. A fixed ad container tuned to an English column can crowd or break in the Chinese layout.

  • Use responsive/fluid units (or Auto Ads) so the slot adapts to each language’s line lengths instead of hard-coding pixel widths.
  • If you run manual units, test the same placement on a real Chinese article and a real English one, on mobile, before locking it in.
  • A common 2026 setup is hybrid: manual units for the few positions you care about (in-content, end-of-article) plus Auto Ads filling the margins with one snippet. This avoids maintaining two separate hand-placed layouts per language.

Common pitfalls

  • Believing the lang attribute controls ads. It controls Search, not ad language. AdSense reads content. Fix the content, not the attribute, if ads are mismatched.
  • Shipping machine-translated second-language pages. This is the top bilingual rejection reason: it reads as low-value, auto-generated content. Write or substantially edit each language.
  • Splitting into two domains to “concentrate authority.” It rarely helps and triples your legal-page, hreflang, and account maintenance.
  • Expecting Chinese RPM to equal English. It won’t; budget for 30–60%.
  • Using ?lang=zh query parameters instead of /zh/ paths. Parameter-based language switching is valid but harder for Google to interpret and complicates hreflang; path-based sections (/en/, /zh/) are cleaner for both Search and your own analytics filters.

Who this is for / when to skip

For: bilingual content-site owners (English + Chinese, English + Spanish, any combo) applying for AdSense or already approved and trying to read their reports correctly.

Skip if: you run a single-language site (none of this applies), or your “bilingual” pages are machine-translated, fix the translation quality first, because AdSense reviewers reject that as low-value content.

FAQ

  • Does AdSense support Chinese?: Yes. Both Chinese (Simplified) and Chinese (Traditional) are on the official supported-languages list of 60+ languages, so an English + Chinese site is fully eligible. The only hard rule is that you can’t place ad code on pages whose primary content is in an unsupported language.
  • Should I apply with the bilingual domain or split into two sites?: Almost always one domain. A single application covers every supported language on the site, hreflang ties the versions together for Search, and you keep one payout and one set of legal pages. Split only for a real reason like separate legal entities.
  • Why is my Chinese RPM so much lower than English?: Smaller ad inventory and lower CPC. As of June 2026, US-targeted clicks average roughly $0.61 versus about $0.11 for China, so a 30–60% RPM range is normal. A 90%+ gap points to a setup issue (mixed-language pages, ads not filling, or geo-targeting).
  • Will the <html lang> attribute fix mismatched ads?: No. AdSense decides ad language from page content, not the attribute. If a Chinese page serves English ads, look for English text bleeding into the sidebar, footer, or comments and split the signal. Set lang/hreflang correctly for Search regardless.
  • Auto Ads or manual units for a bilingual site?: Auto Ads (one snippet, ML placement) save you from maintaining two hand-placed layouts and adapt to CJK line lengths. Most 2026 setups go hybrid: manual units for the in-content and end-of-article slots you care about, Auto Ads for the rest.
  • Can I run different ad densities per language?: Technically yes with conditionally rendered units, but it’s more maintenance than it’s worth. Use one density and let RPM differ naturally.

Tags: #Indie dev #AdSense #Monetization #Bilingual #hreflang