Marketing in the Agent Era · Canlah AI · a Singapore SEO + GEO agency
Collection date: 11 August 2026
Sample: 50 independent storefronts operated by Chinese
cross-border DTC brands; 47 reachable Method: Read-only
HTTP requests. Checked /.well-known/ucp,
/.well-known/agent-payments, /llms.txt,
/.well-known/ai-plugin.json,
/.well-known/mcp.json, /robots.txt, and
JSON-LD / microdata structured data on the homepage and on one product
page discovered from the homepage. Single request, 12-second timeout,
concurrency capped at 8, carrying an identifiable User-Agent and contact
email. No authentication, no form submission, no write operations.
Content validation (critical): HTTP 200 was not
counted as a hit. UCP and other JSON endpoints had to parse as a JSON
object containing the relevant keys; llms.txt had to be
plain text and not HTML. An initial pass without validation
overstated UCP readiness at 59.6%; with validation it is 53.2%
— the entire difference comes from SPA soft 404s (returning homepage
HTML with a 200 status for any path).
Known limitations:
cdn.shopify.com in the homepage source; sites using
a custom CDN may be misclassified.Raw data and script:
_source/agent_readiness_results.json,
_source/agent_readiness_audit.py
Data: 503 archived responses from a single client audit (OpenAI 240 + Gemini 240, of which 227 each were retrieval-enabled), across 60 engine × layer × question combinations, 58 of them with ≥ 5 rounds; 3,821 citation instances, 409 unique domains. Collection cost USD 86.
Known limitations: One brand, one vertical, one market. Both observed values for brand mention rate (0/262 and 192/192) are saturated endpoints; the dataset contains no mid-range samples. The conclusion that “one round is sufficient” therefore holds only for the saturated case and cannot be extrapolated to brands with mention rates in the 30–60% band. Filling in mid-range calibration is the primary research gap this report has identified in its own work.
Data: A single client audit, n = 12 questions, with the same queries submitted simultaneously to the API layer (Gemini 8 rounds + OpenAI 8 rounds = 16 samples) and the browser layer.
Known limitations: Small sample. The 95% confidence interval around the mean Jaccard value of 0.103 is [0.074, 0.132]; the confidence interval on brand-hit agreement is 40 percentage points wide (83.3% overall, Wilson 95% CI [55.2%, 95.3%]). These findings should be cited as a structural directional judgement, not as precise measurement. One brand, one vertical.
Collected: secondary analysis of archived data; analysis date 13 August 2026; no new collection cost.
Sample: 64 pairs drawn from three real client audits (MathleteTraining / OpenKids / Canlah’s own self-audit) in which the same query exists in both a browser-layer and an API-layer record. Browser layer: google_ai_mode and serpapi_ai_overview. API layer: gemini and openai.
Method: queries matched after normalisation
(whitespace collapsed, lower-cased); cited domains per layer taken as a
union, then compared by Jaccard similarity. Domains normalised by
stripping the www. prefix.
One implementation detail we must disclose: the two
layers store their sources in entirely different places — the browser
layer in a flat sources list, the API layer buried in the
provider’s raw grounding payload. Every Gemini citation URI is
wrapped in a Vertex redirect
(vertexaisearch.cloud.google.com/...), and the real domain
survives only in the web.title field. Our first version of
the script read the URI alone, so every citation resolved to the same
redirect host and the Jaccard score was silently computed as
0.000. Corrected, it is 0.096. We record the error because it
belongs to the same class as the soft 404 in section 5.3: an
external source “returning something” is not the same as returning the
thing you asked for, and the wrong version looks entirely
normal.
Known limitations:
Script and results:
_source/browser-vs-api-comparison.py,
_source/browser-vs-api-results.json. Both can be re-run
directly.
Of the academic literature cited here, exactly one item is peer-reviewed (Aggarwal et al., KDD ’24). All other academic citations are 2026 preprints and are labelled A− without exception. This is not concealment; it is the state of the field: research is moving faster than the peer-review cycle. Readers should calibrate their confidence in the associated conclusions accordingly.