[{"data":1,"prerenderedAt":795},["ShallowReactive",2],{"post-\u002Fblog\u002Ftrack-ai-search-traffic-ga4":3,"surround-\u002Fblog\u002Ftrack-ai-search-traffic-ga4":777,"related-\u002Fblog\u002Ftrack-ai-search-traffic-ga4":782},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"datePublished":10,"dateModified":10,"author":11,"tags":12,"faq":16,"body":32,"_type":771,"_id":772,"_source":773,"_file":774,"_stem":775,"_extension":776},"\u002Fblog\u002Ftrack-ai-search-traffic-ga4","blog",false,"","How to Track AI Search Traffic in GA4 (ChatGPT, Perplexity, Gemini)","Step-by-step GA4 setup to track ChatGPT, Perplexity, and Gemini referral traffic: exploration filters, an AI Search channel group, and the regex to use.","2026-07-30","Rynex Team",[13,14,15],"analytics","ai-search","geo",[17,20,23,26,29],{"q":18,"a":19},"How do I see ChatGPT traffic in GA4?","Filter on the session source dimension for chatgpt.com (and the legacy chat.openai.com). Build an exploration with session source as a row dimension and a filter matching AI referrer domains, or create a custom channel group so it appears in standard reports.",{"q":21,"a":22},"Why does GA4 not show AI traffic as its own channel?","GA4's default channel grouping predates AI assistants, so visits from ChatGPT or Perplexity land in generic Referral — or in Direct when the in-app browser strips the referrer. You have to define an AI Search channel yourself.",{"q":24,"a":25},"What referrer domains identify AI search traffic?","The core set is chatgpt.com, chat.openai.com, perplexity.ai, gemini.google.com, copilot.microsoft.com, and claude.ai. Match them with a regex in a custom channel group and revisit the list periodically as new assistants appear.",{"q":27,"a":28},"Does GA4 undercount AI referral traffic?","Yes, treat GA4 numbers as a floor. In-app browsers and some assistant link-outs strip the referrer, so a share of AI-referred visits lands in Direct where it cannot be attributed.",{"q":30,"a":31},"Should AI crawler hits show up in GA4?","No. Crawlers like GPTBot and PerplexityBot generally do not execute the GA4 tag, so they are invisible there by design. Measure crawler activity in server logs or CDN analytics instead, and keep the two metrics separate.",{"type":33,"children":34,"toc":753},"root",[35,43,50,79,84,162,167,173,178,315,324,333,365,370,376,381,454,462,487,506,512,522,545,557,563,568,573,605,610,616,621,668,674,701,707,713,717,722,726,731,735,740,744,749],{"type":36,"tag":37,"props":38,"children":39},"element","p",{},[40],{"type":41,"value":42},"text","Shoppers are clicking through to stores from ChatGPT, Perplexity, and Gemini — but GA4 files those visits under generic Referral or, worse, Direct, so the channel looks like it doesn't exist. This guide sets up proper AI traffic tracking in GA4: an exploration for a quick look, a custom channel group for permanent reporting, and the honest caveats about what you still can't see.",{"type":36,"tag":44,"props":45,"children":47},"h2",{"id":46},"why-is-ai-search-traffic-invisible-in-ga4-by-default",[48],{"type":41,"value":49},"Why is AI search traffic invisible in GA4 by default?",{"type":36,"tag":37,"props":51,"children":52},{},[53,55,62,64,70,72,77],{"type":41,"value":54},"Because GA4's default channel grouping was designed before AI assistants sent traffic. When someone clicks a citation in a ChatGPT answer, the visit arrives with a referrer like ",{"type":36,"tag":56,"props":57,"children":59},"code",{"className":58},[],[60],{"type":41,"value":61},"chatgpt.com",{"type":41,"value":63}," — which GA4 dutifully buckets into the catch-all ",{"type":36,"tag":65,"props":66,"children":67},"strong",{},[68],{"type":41,"value":69},"Referral",{"type":41,"value":71}," channel, mixed in with blog links and directory listings. And when the click happens inside a mobile app whose in-app browser strips the referrer entirely, the visit lands in ",{"type":36,"tag":65,"props":73,"children":74},{},[75],{"type":41,"value":76},"Direct",{"type":41,"value":78},", indistinguishable from someone typing your URL.",{"type":36,"tag":37,"props":80,"children":81},{},[82],{"type":41,"value":83},"The referrer domains that identify AI traffic today:",{"type":36,"tag":85,"props":86,"children":87},"ul",{},[88,107,118,129,140,151],{"type":36,"tag":89,"props":90,"children":91},"li",{},[92,97,99,105],{"type":36,"tag":56,"props":93,"children":95},{"className":94},[],[96],{"type":41,"value":61},{"type":41,"value":98}," (and the legacy ",{"type":36,"tag":56,"props":100,"children":102},{"className":101},[],[103],{"type":41,"value":104},"chat.openai.com",{"type":41,"value":106},") — ChatGPT",{"type":36,"tag":89,"props":108,"children":109},{},[110,116],{"type":36,"tag":56,"props":111,"children":113},{"className":112},[],[114],{"type":41,"value":115},"perplexity.ai",{"type":41,"value":117}," — Perplexity",{"type":36,"tag":89,"props":119,"children":120},{},[121,127],{"type":36,"tag":56,"props":122,"children":124},{"className":123},[],[125],{"type":41,"value":126},"gemini.google.com",{"type":41,"value":128}," — Gemini",{"type":36,"tag":89,"props":130,"children":131},{},[132,138],{"type":36,"tag":56,"props":133,"children":135},{"className":134},[],[136],{"type":41,"value":137},"copilot.microsoft.com",{"type":41,"value":139}," — Microsoft Copilot",{"type":36,"tag":89,"props":141,"children":142},{},[143,149],{"type":36,"tag":56,"props":144,"children":146},{"className":145},[],[147],{"type":41,"value":148},"claude.ai",{"type":41,"value":150}," — Claude",{"type":36,"tag":89,"props":152,"children":153},{},[154,160],{"type":36,"tag":56,"props":155,"children":157},{"className":156},[],[158],{"type":41,"value":159},"you.com",{"type":41,"value":161}," — You.com",{"type":36,"tag":37,"props":163,"children":164},{},[165],{"type":41,"value":166},"Nothing about these is special to GA4 — they're ordinary referrers. The work is teaching GA4 to group them.",{"type":36,"tag":44,"props":168,"children":170},{"id":169},"how-do-you-build-a-ga4-exploration-for-ai-referrals",[171],{"type":41,"value":172},"How do you build a GA4 exploration for AI referrals?",{"type":36,"tag":37,"props":174,"children":175},{},[176],{"type":41,"value":177},"An exploration gives you the fastest read, with no configuration changes and full historical data. Step by step:",{"type":36,"tag":179,"props":180,"children":181},"ol",{},[182,201,267,291],{"type":36,"tag":89,"props":183,"children":184},{},[185,187,192,194,199],{"type":41,"value":186},"In GA4, go to ",{"type":36,"tag":65,"props":188,"children":189},{},[190],{"type":41,"value":191},"Explore",{"type":41,"value":193}," → ",{"type":36,"tag":65,"props":195,"children":196},{},[197],{"type":41,"value":198},"Blank",{"type":41,"value":200}," to create a new exploration.",{"type":36,"tag":89,"props":202,"children":203},{},[204,206,211,213,218,220,225,227,232,234,239,240,245,246,251,253,258,260,265],{"type":41,"value":205},"Under ",{"type":36,"tag":65,"props":207,"children":208},{},[209],{"type":41,"value":210},"Variables",{"type":41,"value":212},", add dimensions: ",{"type":36,"tag":65,"props":214,"children":215},{},[216],{"type":41,"value":217},"Session source",{"type":41,"value":219},", ",{"type":36,"tag":65,"props":221,"children":222},{},[223],{"type":41,"value":224},"Session source \u002F medium",{"type":41,"value":226},", and ",{"type":36,"tag":65,"props":228,"children":229},{},[230],{"type":41,"value":231},"Landing page + query string",{"type":41,"value":233},". Add metrics: ",{"type":36,"tag":65,"props":235,"children":236},{},[237],{"type":41,"value":238},"Sessions",{"type":41,"value":219},{"type":36,"tag":65,"props":241,"children":242},{},[243],{"type":41,"value":244},"Engaged sessions",{"type":41,"value":219},{"type":36,"tag":65,"props":247,"children":248},{},[249],{"type":41,"value":250},"Total users",{"type":41,"value":252},", and (for stores) ",{"type":36,"tag":65,"props":254,"children":255},{},[256],{"type":41,"value":257},"Ecommerce purchases",{"type":41,"value":259}," and ",{"type":36,"tag":65,"props":261,"children":262},{},[263],{"type":41,"value":264},"Total revenue",{"type":41,"value":266},".",{"type":36,"tag":89,"props":268,"children":269},{},[270,272,276,278,283,285,290],{"type":41,"value":271},"Drag ",{"type":36,"tag":65,"props":273,"children":274},{},[275],{"type":41,"value":217},{"type":41,"value":277}," into ",{"type":36,"tag":65,"props":279,"children":280},{},[281],{"type":41,"value":282},"Rows",{"type":41,"value":284}," and your metrics into ",{"type":36,"tag":65,"props":286,"children":287},{},[288],{"type":41,"value":289},"Values",{"type":41,"value":266},{"type":36,"tag":89,"props":292,"children":293},{},[294,295,300,302,306,307,313],{"type":41,"value":205},{"type":36,"tag":65,"props":296,"children":297},{},[298],{"type":41,"value":299},"Filters",{"type":41,"value":301},", add a filter on ",{"type":36,"tag":65,"props":303,"children":304},{},[305],{"type":41,"value":217},{"type":41,"value":193},{"type":36,"tag":308,"props":309,"children":310},"em",{},[311],{"type":41,"value":312},"matches regex",{"type":41,"value":314}," → paste:",{"type":36,"tag":316,"props":317,"children":319},"pre",{"code":318},".*chatgpt\\.com|.*chat\\.openai\\.com|.*perplexity\\.ai|.*gemini\\.google\\.com|.*copilot\\.microsoft\\.com|.*claude\\.ai|.*you\\.com\n",[320],{"type":36,"tag":56,"props":321,"children":322},{"__ignoreMap":7},[323],{"type":41,"value":318},{"type":36,"tag":179,"props":325,"children":327},{"start":326},5,[328],{"type":36,"tag":89,"props":329,"children":330},{},[331],{"type":41,"value":332},"Set your date range and run it.",{"type":36,"tag":37,"props":334,"children":335},{},[336,338,342,344,349,351,356,358,364],{"type":41,"value":337},"You now have a table of AI-assistant sources with sessions, engagement, and revenue per source. Two useful follow-ups: swap the row dimension to ",{"type":36,"tag":65,"props":339,"children":340},{},[341],{"type":41,"value":231},{"type":41,"value":343}," to see ",{"type":36,"tag":308,"props":345,"children":346},{},[347],{"type":41,"value":348},"which pages",{"type":41,"value":350}," AI engines send people to (usually a handful of product and guide pages — those are your AI-visible assets), and add ",{"type":36,"tag":65,"props":352,"children":353},{},[354],{"type":41,"value":355},"Session medium",{"type":41,"value":357}," as a second dimension to confirm everything shows as ",{"type":36,"tag":56,"props":359,"children":361},{"className":360},[],[362],{"type":41,"value":363},"referral",{"type":41,"value":266},{"type":36,"tag":37,"props":366,"children":367},{},[368],{"type":41,"value":369},"Explorations are retroactive — they work over data GA4 already collected. That makes this the right first step even if you go on to build the channel group below.",{"type":36,"tag":44,"props":371,"children":373},{"id":372},"how-do-you-create-an-ai-search-custom-channel-group",[374],{"type":41,"value":375},"How do you create an \"AI Search\" custom channel group?",{"type":36,"tag":37,"props":377,"children":378},{},[379],{"type":41,"value":380},"A custom channel group makes AI Search a first-class channel in standard reports and advertising attribution — no exploration needed. Note: custom channel groups apply from creation onward in some reporting contexts, and GA4 allows a limited number of them per property, so set this up once and deliberately.",{"type":36,"tag":179,"props":382,"children":383},{},[384,408,420,437],{"type":36,"tag":89,"props":385,"children":386},{},[387,389,394,395,400,401,406],{"type":41,"value":388},"Go to ",{"type":36,"tag":65,"props":390,"children":391},{},[392],{"type":41,"value":393},"Admin",{"type":41,"value":193},{"type":36,"tag":65,"props":396,"children":397},{},[398],{"type":41,"value":399},"Data settings",{"type":41,"value":193},{"type":36,"tag":65,"props":402,"children":403},{},[404],{"type":41,"value":405},"Channel groups",{"type":41,"value":407}," (property level; requires Editor access).",{"type":36,"tag":89,"props":409,"children":410},{},[411,413,418],{"type":41,"value":412},"Click ",{"type":36,"tag":65,"props":414,"children":415},{},[416],{"type":41,"value":417},"Create new channel group",{"type":41,"value":419},". GA4 clones the default group as your starting point — keep it as the base so all other channels behave normally.",{"type":36,"tag":89,"props":421,"children":422},{},[423,424,429,431,436],{"type":41,"value":412},{"type":36,"tag":65,"props":425,"children":426},{},[427],{"type":41,"value":428},"Add new channel",{"type":41,"value":430},", name it ",{"type":36,"tag":65,"props":432,"children":433},{},[434],{"type":41,"value":435},"AI Search",{"type":41,"value":266},{"type":36,"tag":89,"props":438,"children":439},{},[440,442,447,448,452],{"type":41,"value":441},"Define the condition: ",{"type":36,"tag":65,"props":443,"children":444},{},[445],{"type":41,"value":446},"Source",{"type":41,"value":193},{"type":36,"tag":308,"props":449,"children":450},{},[451],{"type":41,"value":312},{"type":41,"value":453}," → paste this pattern:",{"type":36,"tag":316,"props":455,"children":457},{"code":456},"^(www\\.)?(chatgpt\\.com|chat\\.openai\\.com|perplexity\\.ai|gemini\\.google\\.com|copilot\\.microsoft\\.com|claude\\.ai|you\\.com)$\n",[458],{"type":36,"tag":56,"props":459,"children":460},{"__ignoreMap":7},[461],{"type":41,"value":456},{"type":36,"tag":179,"props":463,"children":464},{"start":326},[465,475],{"type":36,"tag":89,"props":466,"children":467},{},[468,473],{"type":36,"tag":65,"props":469,"children":470},{},[471],{"type":41,"value":472},"Reorder the channel list so AI Search sits above Referral and Direct.",{"type":41,"value":474}," Channel rules evaluate top-down and first match wins — if Referral evaluates first, it will keep claiming your AI traffic and the new channel will stay empty.",{"type":36,"tag":89,"props":476,"children":477},{},[478,480,485],{"type":41,"value":479},"Save. In any standard report, switch the primary dimension to your new channel group (e.g., ",{"type":36,"tag":65,"props":481,"children":482},{},[483],{"type":41,"value":484},"Session default channel group",{"type":41,"value":486}," → your custom group) to see AI Search broken out.",{"type":36,"tag":37,"props":488,"children":489},{},[490,492,497,499,504],{"type":41,"value":491},"Maintenance note: this list will age. New assistants ship, domains change (ChatGPT already migrated from ",{"type":36,"tag":56,"props":493,"children":495},{"className":494},[],[496],{"type":41,"value":104},{"type":41,"value":498}," to ",{"type":36,"tag":56,"props":500,"children":502},{"className":501},[],[503],{"type":41,"value":61},{"type":41,"value":505},"). Put a quarterly reminder on the calendar to review the regex against your top referral sources.",{"type":36,"tag":44,"props":507,"children":509},{"id":508},"what-are-the-caveats-read-this-before-trusting-the-numbers",[510],{"type":41,"value":511},"What are the caveats? (Read this before trusting the numbers)",{"type":36,"tag":37,"props":513,"children":514},{},[515,520],{"type":36,"tag":65,"props":516,"children":517},{},[518],{"type":41,"value":519},"Your GA4 AI numbers are a floor, not a total.",{"type":41,"value":521}," Two structural problems cause undercounting:",{"type":36,"tag":85,"props":523,"children":524},{},[525,535],{"type":36,"tag":89,"props":526,"children":527},{},[528,533],{"type":36,"tag":65,"props":529,"children":530},{},[531],{"type":41,"value":532},"In-app browsers strip referrers.",{"type":41,"value":534}," A large share of ChatGPT usage is in mobile apps, and clicks from in-app browsers often arrive with no referrer at all. Those sessions land in Direct and cannot be recovered. The AI Search channel you built captures the attributable subset only.",{"type":36,"tag":89,"props":536,"children":537},{},[538,543],{"type":36,"tag":65,"props":539,"children":540},{},[541],{"type":41,"value":542},"Direct traffic contamination cuts both ways.",{"type":41,"value":544}," If your Direct channel grows in the same period your store starts getting cited by AI assistants, some of that growth is probably misattributed AI traffic — but you can't prove which sessions. Watch Direct's trend alongside AI Search rather than reading either in isolation.",{"type":36,"tag":37,"props":546,"children":547},{},[548,550,555],{"type":41,"value":549},"Also remember that none of this measures ",{"type":36,"tag":308,"props":551,"children":552},{},[553],{"type":41,"value":554},"influence without a click",{"type":41,"value":556},". When an assistant answers a shopper's question by summarizing your product page and the shopper later searches your brand name, that visit shows up as Organic Search. Referral tracking captures click-throughs, not mentions.",{"type":36,"tag":44,"props":558,"children":560},{"id":559},"should-you-track-ai-crawler-hits-in-ga4-too",[561],{"type":41,"value":562},"Should you track AI crawler hits in GA4 too?",{"type":36,"tag":37,"props":564,"children":565},{},[566],{"type":41,"value":567},"No — and they mostly won't show up there anyway. Crawlers like GPTBot, OAI-SearchBot, ClaudeBot, and PerplexityBot generally don't execute JavaScript analytics tags, so GA4 is structurally blind to them. That's fine, because crawler activity is a different question: GA4 answers \"are humans arriving from AI assistants?\", while server logs answer \"are AI engines ingesting my catalog?\"",{"type":36,"tag":37,"props":569,"children":570},{},[571],{"type":41,"value":572},"Measure crawler traffic where the requests actually land:",{"type":36,"tag":85,"props":574,"children":575},{},[576,595],{"type":36,"tag":89,"props":577,"children":578},{},[579,584,586,593],{"type":36,"tag":65,"props":580,"children":581},{},[582],{"type":41,"value":583},"Server access logs",{"type":41,"value":585},": grep for the crawler user-agent strings and confirm they receive 200s — the ",{"type":36,"tag":587,"props":588,"children":590},"a",{"href":589},"\u002Fblog\u002Frobots-txt-for-ai-crawlers",[591],{"type":41,"value":592},"robots.txt for AI crawlers guide",{"type":41,"value":594}," includes a ready-made command.",{"type":36,"tag":89,"props":596,"children":597},{},[598,603],{"type":36,"tag":65,"props":599,"children":600},{},[601],{"type":41,"value":602},"Cloudflare (or your CDN's) analytics",{"type":41,"value":604},": bot dashboards break out verified AI crawlers by name with zero setup, and catch the failure mode where your WAF blocks a crawler your robots.txt allows.",{"type":36,"tag":37,"props":606,"children":607},{},[608],{"type":41,"value":609},"Keep the two metrics separate in your reporting. Crawler hits are a leading indicator (engines are reading you); referral sessions are a lagging one (engines are sending you buyers).",{"type":36,"tag":44,"props":611,"children":613},{"id":612},"what-does-good-look-like",[614],{"type":41,"value":615},"What does \"good\" look like?",{"type":36,"tag":37,"props":617,"children":618},{},[619],{"type":41,"value":620},"Directionally — we won't invent benchmarks. Early on, expect AI Search to be a small fraction of total sessions; the channel is young. The signals worth watching:",{"type":36,"tag":85,"props":622,"children":623},{},[624,634,644],{"type":36,"tag":89,"props":625,"children":626},{},[627,632],{"type":36,"tag":65,"props":628,"children":629},{},[630],{"type":41,"value":631},"Trend over level.",{"type":41,"value":633}," A small channel growing steadily month over month matters more than its current share.",{"type":36,"tag":89,"props":635,"children":636},{},[637,642],{"type":36,"tag":65,"props":638,"children":639},{},[640],{"type":41,"value":641},"Engagement quality.",{"type":41,"value":643}," AI-referred visitors arrive pre-qualified — an assistant already matched your product to their stated need — so it's reasonable to compare their engagement rate and conversion rate against your Referral and Organic baselines and expect them to hold up well. Let your own data tell you.",{"type":36,"tag":89,"props":645,"children":646},{},[647,652,654,660,661,667],{"type":36,"tag":65,"props":648,"children":649},{},[650],{"type":41,"value":651},"Landing page concentration.",{"type":41,"value":653}," If a few pages take nearly all AI referrals, that's a map of what the engines can see and cite — and a to-do list: bring your other key pages up to the same standard of ",{"type":36,"tag":587,"props":655,"children":657},{"href":656},"\u002Fblog\u002Fproduct-schema-for-ai-search",[658],{"type":41,"value":659},"structured data",{"type":41,"value":259},{"type":36,"tag":587,"props":662,"children":664},{"href":663},"\u002Fblog\u002Fllms-txt-for-ecommerce",[665],{"type":41,"value":666},"llms.txt-style canonical facts",{"type":41,"value":266},{"type":36,"tag":44,"props":669,"children":671},{"id":670},"where-does-rynex-fit-in",[672],{"type":41,"value":673},"Where does Rynex fit in?",{"type":36,"tag":37,"props":675,"children":676},{},[677,679,684,686,692,694,700],{"type":41,"value":678},"Referral tracking has a blind spot: it only measures what happens ",{"type":36,"tag":308,"props":680,"children":681},{},[682],{"type":41,"value":683},"after",{"type":41,"value":685}," a recommendation. Rynex's GEO Layer works upstream — it tracks how often your products are actually recommended by ChatGPT, Perplexity, and Gemini, with a 9-run simulation panel (3 model families × 3 queries) plus competitor monitoring, so you can see share-of-recommendation before it turns into referral sessions. On the measurement side, Rynex traffic analytics separates AI crawler visits from human AI-referred visits, so bot ingestion and buyer arrival don't get conflated in one number. If you haven't checked the foundation yet, the ",{"type":36,"tag":587,"props":687,"children":689},{"href":688},"\u002Fgeo-audit",[690],{"type":41,"value":691},"free GEO Audit",{"type":41,"value":693}," verifies your crawlability setup automatically — and for the bigger picture of why this channel exists at all, start with ",{"type":36,"tag":587,"props":695,"children":697},{"href":696},"\u002Fblog\u002Fwhat-is-generative-engine-optimization",[698],{"type":41,"value":699},"what generative engine optimization is",{"type":41,"value":266},{"type":36,"tag":44,"props":702,"children":704},{"id":703},"faq",[705],{"type":41,"value":706},"FAQ",{"type":36,"tag":708,"props":709,"children":711},"h3",{"id":710},"how-do-i-see-chatgpt-traffic-in-ga4",[712],{"type":41,"value":18},{"type":36,"tag":37,"props":714,"children":715},{},[716],{"type":41,"value":19},{"type":36,"tag":708,"props":718,"children":720},{"id":719},"why-does-ga4-not-show-ai-traffic-as-its-own-channel",[721],{"type":41,"value":21},{"type":36,"tag":37,"props":723,"children":724},{},[725],{"type":41,"value":22},{"type":36,"tag":708,"props":727,"children":729},{"id":728},"what-referrer-domains-identify-ai-search-traffic",[730],{"type":41,"value":24},{"type":36,"tag":37,"props":732,"children":733},{},[734],{"type":41,"value":25},{"type":36,"tag":708,"props":736,"children":738},{"id":737},"does-ga4-undercount-ai-referral-traffic",[739],{"type":41,"value":27},{"type":36,"tag":37,"props":741,"children":742},{},[743],{"type":41,"value":28},{"type":36,"tag":708,"props":745,"children":747},{"id":746},"should-ai-crawler-hits-show-up-in-ga4",[748],{"type":41,"value":30},{"type":36,"tag":37,"props":750,"children":751},{},[752],{"type":41,"value":31},{"title":7,"searchDepth":754,"depth":754,"links":755},2,[756,757,758,759,760,761,762,763],{"id":46,"depth":754,"text":49},{"id":169,"depth":754,"text":172},{"id":372,"depth":754,"text":375},{"id":508,"depth":754,"text":511},{"id":559,"depth":754,"text":562},{"id":612,"depth":754,"text":615},{"id":670,"depth":754,"text":673},{"id":703,"depth":754,"text":706,"children":764},[765,767,768,769,770],{"id":710,"depth":766,"text":18},3,{"id":719,"depth":766,"text":21},{"id":728,"depth":766,"text":24},{"id":737,"depth":766,"text":27},{"id":746,"depth":766,"text":30},"markdown","content:blog:track-ai-search-traffic-ga4.md","content","blog\u002Ftrack-ai-search-traffic-ga4.md","blog\u002Ftrack-ai-search-traffic-ga4","md",[778,780],{"_path":589,"title":779},"robots.txt for AI Crawlers: GPTBot, ClaudeBot, PerplexityBot and More",{"_path":696,"title":781},"What Is Generative Engine Optimization (GEO)? The Complete E-Commerce Guide",[783,787,791],{"_path":784,"title":785,"description":786},"\u002Fblog\u002Fbest-geo-tools-for-ecommerce","Best GEO Tools for E-Commerce in 2026, Compared","Compare the best GEO tools for e-commerce in 2026 — Profound, Peec AI, Otterly.ai, and Rynex — on measurement methodology, store fit, and pricing.",{"_path":788,"title":789,"description":790},"\u002Fblog\u002Ffree-ai-visibility-audit-guide","Free AI Visibility Audit: What It Checks and How to Read Your Score","What a free AI visibility audit actually checks — crawlability, structured data, real AI mentions, competitor gaps — and how to act on your score.",{"_path":792,"title":793,"description":794},"\u002Fblog\u002Fhow-to-get-your-store-recommended-by-chatgpt","How to Get Your Store Recommended by ChatGPT (2026 Guide)","A practical 2026 guide to getting your store recommended by ChatGPT: AI crawler access, llms.txt, Product JSON-LD, earned mentions, and how to measure it.",1785436070599]