Fix “Google hasn't verified this app” on v0 (Vercel)
Because v0 builds Next.js and Next server-renders your homepage, your diagnosis is different from the Vite platforms: the empty-shell rejection rarely applies. The subdomain and the paperwork do.
v0 deploys to Vercel, so you start on a *.vercel.app subdomain that can't be verified as yours. Next.js renders the homepage HTML on the server, so 'unresponsive' is rare here — when v0 apps get rejected it's usually the subdomain, a homepage with no real description, or a privacy policy on the wrong domain.
Each fix below traces to a requirement Google publishes.
Nothing here is our opinion. Every requirement links to Google’s own page — open it and verify the fix yourself before you resubmit.
“Your app must run on a domain you own and have verified — the top private domain, like yourdomain.com. Google's review treats a shared platform subdomain like *.lovable.app or *.vercel.app as not yours.”
“Verify the domain in Search Console with the same Google account that owns the Cloud project; verifying under a personal account that isn't on the project fails silently.”
“Your homepage must describe what the app does and link to your privacy policy.”
“Host your privacy policy on the same domain as your homepage — a Notion page or Google Doc on another domain is rejected.”
“The policy link on your homepage and the policy URL on your consent screen must point to the same policy.”
Do these in order, on v0.
- 01
Add your own domain to the Vercel project
Attach a domain you own in the project's domain settings and set it as the primary domain, so homepage, privacy policy, and redirect URIs all sit on one owned domain.
- 02
Verify the domain in Search Console
Use the same Google account that owns your Cloud project — otherwise verification silently does nothing.
- 03
Give the homepage a real description
Even server-rendered, the homepage still has to say what the app does and link the privacy policy. A bare hero with no description can still be rejected.
- 04
Point the policy URL at your domain
Host the policy at yourdomain.com/privacy and use that one URL on both the homepage and the consent screen.
See exactly what Google’s crawler sees — free.
Paste your URL and scopes. The pre-check fetches your homepage the way Google does, finds your privacy-policy link, and flags the blockers this rejection is about — in seconds, no signup.
Straight answers.
Do v0 apps hit the 'homepage unresponsive' rejection?
Rarely. Next.js server-renders the homepage, so the crawler gets real HTML. If you're rejected, look first at the *.vercel.app subdomain and whether your homepage actually describes the app.
Is a *.vercel.app URL enough to get verified?
No — it's a shared subdomain you can't prove you own. Add a custom domain to the Vercel project and verify it in Search Console.