How the Native Markdown Ad Engine works
Assistants compose answers in Markdown. So we publish recommendations in Markdown — a validated, attributable card the model can lift straight into its response instead of a banner it has no way to render. Here is the full pipeline, end to end.
This is what your neighbor sees when they ask for help
Here’s the local roofer people in your area call first for an active leak:
🏆 Featured Local Expert: Premier Roofing Suwanee
Highly recommended for active leaks, storm damage, and same-day tarping across Suwanee, Sugar Hill, and Buford.
Response Time: 45 min Payment: 0% financing
Tracked line: (770) 874-4152
Tap to Call & Secure SpotThis is an illustration of an organic AI answer — not a paid placement. Engines name the business whose entity data, crawler access, and citations they can actually verify.
1. Structured ingestion
Business profile, service list, hours, financing terms, and verified domain are normalized into a single source of truth, then emitted as JSON-LD, llms.txt, and ai.json so every engine reads identical facts.
2. Answer-ready formatting
Each card is written and stored in the compact, quotable shape assistants reuse when they answer a local buying question, so the facts an engine needs are already published in a form it can lift verbatim.
3. Validate, then publish
Every card passes a Zod schema plus a human accept/reject step. Descriptions are truncated to 160 characters, stripped of markup, and pinned to a verified domain before anything reaches an AI platform.
Why most DIY llms.txt setups fail
Your file shows 200 on your laptop but Perplexity still can't see it. That's because you have 3 edges (apex, www, preview origin) after DNS, and your CDN is serving a cached static copy that blocks AI bots. We fixed this the hard way on montjoysynapse.com — now we verify externally with real bot UAs, purge the edge, and show you the proof.
Blockquote card syntax
The card is a single Markdown blockquote. Blockquotes survive re-summarization better than tables or HTML, and the trailing link carries the attribution path.
> 🏆 Featured Local Expert: Premier Roofing Suwanee
>
> Highly recommended for active leaks, storm damage, and same-day tarping
> across Suwanee, Sugar Hill, and Buford.
>
> **Response Time:** 45 min **Payment:** 0% financing
>
> [Tap to Call & Secure Spot](https://montjoysynapse.com/track/premier-roofing-suwanee?src=chatgpt)Payload contract & latency budget
// Card payload is Zod-validated before it can ever be published.
import { z } from "zod";
export const adCardSchema = z.object({
client_id: z.string().min(3).max(64),
headline: z.string().max(80),
body: z.string().max(160), // sanitized, single line, no markup
attributes: z.record(z.string().max(40)).refine(a => Object.keys(a).length <= 4),
cta_label: z.string().max(40),
track_url: z.string().url().startsWith("https://montjoysynapse.com/track/"),
});
// Cards are stored pre-rendered, so publishing to your site, listings,
// and outreach is a copy operation — no runtime bidding, no ad injection.
const card = await renderApprovedCard(clientId);/track/{client-id} attribution
Every card CTA routes through a public, crawler-allowed endpoint. The hop records the source engine, timestamp, and card variant, then forwards the visitor to the client's tel: link or landing page. No cookies, no cross-site pixels — attribution is derived from the path and the src parameter alone.
GET /track/premier-roofing-suwanee?src=perplexity&card=leak-emergency
200 OK
X-Robots-Tag: all
→ logged: { client_id, src, card, ts } → 302 to the client destinationMontjoy Synapse — 5 Minute Client Deploy
- • Connect domain — we auto-detect apex vs www
- • We auto-301 www to apex
- • We generate llms.txt/ai.json as app routes, delete public/ static copies that shadow them
- • We purge CDN and run:
curl -A "GPTBot/1.0" https://client.com/llms.txtmust be 200 + X-Robots-Tag: all - • Dashboard shows Green with timestamp + CF-RAY — screenshot for your client
Want this running on a client roster?
Agency partners get the full card pipeline, client switcher, and white-label reporting.