News Detail

Buyers Want to Contact You. AI Cannot Find Your Number.

The buyer has decided to reach you. AI has no number to give. Image phones, click-to-reveal numbers,

1
Issuing time:2026-11-12 09:30Author:Yihang GEO

A packaging manufacturer sat down for a year-end review and found something odd. AI did mention them. Buyers even said they had seen the company in Doubao. Yet the phone rarely rang.

A long-standing customer eventually explained. He had asked DeepSeek how to contact the company. The answer told him to visit the official website for contact details. He clicked through, looked around, and found the phone number rendered as an image in the footer, unreadable on a phone. He closed the tab.

In AI search optimization this belongs to the easiest category to overlook: it is not that you went unseen, it is that you could not be reached once seen. The buyer has walked the last metre, and your number is not where he can pick it up.

Boundaries first. This piece is about one small block of content — contact details — and how to write it so a retrieval chain can read it. It does not cover overall site speed, and it changes no security policy. It also does not apply to pure marketplace sellers: if your buyers only order on a platform, your website phone was never the main entry point, and this can wait. One last limit: GEO makes existing contact details readable. It cannot turn an unanswered phone into an answered one.

How AI actually sees a page

To understand why a phone number goes missing, you need to know what a retrieval chain actually does.

It does not open a browser, glance at the screen and take notes. It takes the HTML the server returns and extracts text from it. Some retrievers go further and execute JavaScript, rendering the page before extracting. The gap between those two steps is where information disappears.

Google states this plainly in its JavaScript SEO basics documentation: Googlebot queues every page that returns a 200 status for rendering, waits until resources allow, then renders it in headless Chromium and executes the JavaScript, indexing the rendered HTML. The same document carries the line that matters most here — Google recommends server-side rendering or pre-rendering, for two reasons, and the second is that not all bots can run JavaScript.

That sentence is the core of the problem. You cannot design a page around what Googlebot can do, because Googlebot is not the only reader.

The documentation adds a second detail: a page may sit in the render queue for seconds, or considerably longer. So even a retriever that does execute JavaScript may not wait for your script to finish.

Four ways to hide a phone number

The four patterns below are common on Chinese factory sites and on export-facing independent stores. Each looks fine on screen, and each adds one more obstacle between a retriever and the digits.

First, click-to-reveal. The page shows a button labelled view phone number, and the number lives in a JavaScript variable that only populates on click. The anti-scraping intent is obvious and the effect is real: a retriever that does not click gets nothing.

Second, the image phone number. The digits are rendered into a small graphic, or the whole contact block is one image. A human reads it; the text layer does not contain it. This is harder to fix than the first pattern, because even rendering does not help: what comes out of the render is still an img tag.

Third, the iframe form. An inquiry form is embedded through a third-party service, so the page HTML contains only an iframe address and the fields and submission logic live on someone else's domain. A retriever sees a frame, not the fields for name, email and requirement.

Fourth, content that appears only after interaction: modal windows, collapsible panels, a floating chat bar that loads when you scroll far enough. Google's documentation states that rendering does not trigger user interaction, so anything that requires a click is not in the rendered result.

In generative engine optimization all four have to change. The first two are deliberate defence, the third is a technology choice, the fourth is usually just a design habit. What they share: the number exists, but it is not in the text.

Four ways contact details get hidden:click to reveal, phone number as image, iframe form, content behind interaction

The real loss is not a phone number, it is the last metre

Here it helps to separate two different failures.

The first is that AI does not mention you. That is a visibility problem, and it is solved in the source and content layer. It is the main body of GEO work.

The second is that AI mentions you and the buyer still cannot reach you. That is a conversion problem, solved at the level of page readability, which is what this piece covers.

The cost of the second failure is routinely underestimated. AirOps, in State of AI Search 2026, puts the share of AI brand mentions that start on third-party pages at 85%. Which means that when a buyer sees your name, he is most likely on a page he does not know, and he has to verify you, find you and contact you on his own.

A separate Semrush study, drawn from more than 540,000 answers and labelled ghost citations, reports that content is cited at 53.1% when the brand is mentioned in the answer, against 10.6% when it is not. The same body of work notes that 62% of AI citations never produce a brand mention, and that 48% of citations come from community platforms. All of these are tool-vendor studies and observational in nature, not causal evidence, but they support one point: being mentioned and being found are two independent events.

So AI search optimization should not be measured by how often you are mentioned. It should be measured by whether, after the mention, a buyer can reach you within two steps.

Write the contact details back into text

At this level, AI search optimization is not technically hard. The difficulty is the trade-off, because many of these patterns were built on purpose to stop scrapers.

First, put the number in plain text, directly in the HTML. For export markets write it with a country code. Never as an image, never behind a click. The anti-scraping benefit is far smaller than the cost of losing buyers: anyone determined enough to scrape will run OCR on your image, while the people who cannot read your number are the buyers who were genuinely looking for a supplier.

Second, leave at least one email and one messaging handle as plain text. A QR code can stay, but next to it there must be the handle in copyable text. To a retrieval chain a QR code is just an image. Chinese export factories typically route inquiries through WeChat or WeCom, the enterprise version; overseas buyers are often unfamiliar with both, so put a WhatsApp number or a WeCom ID in copyable text alongside the phone and email.

Third, the form should exist in the page HTML, or at minimum there must be a non-form path. If your stack forces an iframe or a third-party form, write a line of text beside it: you can also email us directly at this address. That fallback costs nothing and saves the conversion.

Fourth, contact details should appear in three places: the footer, the contact page, and an about paragraph inside the body copy. The third is the one people forget, and it is the most useful in GEO, because AI lifts paragraphs, while footers are frequently treated as navigational noise and filtered out.

One technical note in passing: if your first screen is rendered entirely by JavaScript, the risk applies to all your body copy, not just the phone number. That structural issue belongs to the article on website technical fundamentals and is not repeated here.

There is a thirty-second verification. Turn JavaScript off in your browser and reload the page. If the phone number disappears, it was never in the text layer.

Make the number match the entity

In GEO a number on its own is not enough. Before answering how to contact this company, AI has to establish that the number belongs to it. That step depends on entity consistency.

Specifically: does the legal name, address, phone and email on your own site match what appears on third-party platforms — company registries, industry directories, map listings, marketplace storefronts? When they do not match, AI hesitates while assembling an answer, and the hesitation shows up as that vague line about visiting the official website for contact details.

This is entity information governance, and it is foundational work. It has nothing to do with how well you write and everything to do with whether the facts reconcile. A common pattern among factories in Shenzhen and Dongguan: the website still carries an address from before an administrative boundary change, the third-party listings have the new one, and nobody maintains either. AI cross-checks, finds a mismatch, and simply omits the detail.

So the chain has three links: the number is in the text, so it is readable; the number matches the entity, so it is credible; the number appears on the pages buyers actually ask about, so it is findable. Remove one link and the last metre breaks.

A three-link chain labelled readable, credible, findable, with the break marked between the last two

Three questions that come up every time

If we turn our image phone number into text, will we get scraped?

You will, and the cost needs to be weighed honestly. What gets scraped is a phone number; what gets blocked is a real buyer. An image does not stop a determined scraper either, since running OCR over a phone number is cheaper than most people assume. The more practical arrangement: publish the number, use a form or a messaging handle as the first filter, and handle nuisance calls at the carrier level.

We use a third-party chat widget. Does that count as an iframe?

Usually yes. The test is simple: view the page source and search for your number. If it is not there, it is not in the initial HTML. Keep the widget if you like it, but write the number out again as text somewhere on the page.

Once we change it, how long before AI updates?

There is no fixed answer. Google's documentation on site moves notes that for a medium-sized site, new URLs replacing old ones typically takes a few weeks or longer — and that describes search crawling only. Answer layers add each provider's own indexing cycle on top. Three things you can do: resubmit the sitemap after the change, push the changed URLs through IndexNow, and mark the update date on the page. Do not expect same-day effect.

Closing

Back to the packaging factory. They changed three things: the phone number moved from a footer image to plain text and was also written into the about paragraph; the email was placed at the top of the contact page; and a single line beside the inquiry form said you can also email us directly.

Two months later, a buyer who pressed for contact details in ERNIE Bot got the full number, along with the address.

The owner's summary: we assumed the problem was that AI did not mention us. The problem was that it mentioned us without a number.

Before 2024 Yihang worked on cross-border B2B and Alibaba.com services, and only then moved its focus to GEO. Storefronts on Alibaba.com impose one mandatory field: contact details must go into a fixed slot, and an incomplete listing is not complete. It was irritating at the time; in hindsight it guaranteed that every product listing carried a readable contact path. A company website has no such mandatory field, so two goals — stop scraping, look polished — pushed the number into an image. Work down to this layer of AI search optimization and you find that most of these problems are not failures of skill. They are the price of having done something right, for a different reason, earlier.

Data and effect boundaries: statements about the JavaScript rendering pipeline, render queue duration and not all bots being able to run JavaScript come from Google Search Central's JavaScript SEO basics, in the documentation's own terms. That document describes Googlebot's behaviour; it does not establish that other AI retrievers have the same capability, and it is not a claim about any specific crawler. The 85% figure from AirOps and the 53.1%, 10.6%, 62% and 48% figures from Semrush are vendor-published observational statistics, not independently reviewed, and reflect a non-Chinese market snapshot; they use different bases and cannot be added together or used to validate one another. The weeks-or-longer migration figure describes search crawling cadence and does not apply to how fast an AI answer layer updates. The packaging manufacturer is an illustrative situation and describes no specific client. Every figure cited is a mechanism description or an observational statistic; none of it predicts results for any business. The methods make existing contact details readable and reconcilable. They promise no volume of inquiries and no commercial outcome.

References

  1. Google Search Central: JavaScript SEO basics (200-status pages enter a render queue, headless Chromium renders and executes JavaScript, queue time may be seconds or longer, server-side rendering recommended partly because not all bots can run JavaScript). https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics
  2. Google Search Central: How to move a site (medium-sized sites take weeks or longer for new URLs to replace old ones). https://support.google.com/webmasters/answer/6033049
  3. AirOps: State of AI Search 2026 (85% of brand mentions from third-party pages; vendor-published, observational, non-Chinese market).
  4. Semrush: ghost citations study (540,000+ answers; 53.1% citation rate when mentioned, 10.6% when not, 62% of citations produce no brand mention, 48% of citations from community platforms; tool-vendor, observational).
  5. What Gets Cited, accepted at SIGIR 2026 (252,000 controlled experiments; topical relevance and context position dominate; peer reviewed).
Share to: