
{"id":19588,"date":"2025-08-13T14:47:21","date_gmt":"2025-08-13T18:47:21","guid":{"rendered":"https:\/\/ipullrank.com\/?page_id=19588"},"modified":"2025-09-24T10:07:32","modified_gmt":"2025-09-24T14:07:32","slug":"tracking","status":"publish","type":"page","link":"https:\/\/ipullrank.com\/ai-search-manual\/tracking","title":{"rendered":"Tracking AI Search Visibility (GEO Analytics)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"19588\" class=\"elementor elementor-19588\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f0d547f e-flex e-con-boxed e-con e-parent\" data-id=\"f0d547f\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6187e76 elementor-widget elementor-widget-heading\" data-id=\"6187e76\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The AI Search Manual<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5d054b7 elementor-widget elementor-widget-heading\" data-id=\"5d054b7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">CHAPTER 13<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-283e350 elementor-widget elementor-widget-heading\" data-id=\"283e350\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Tracking AI Search Visibility (GEO Analytics)<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dead1a9 elementor-widget elementor-widget-theme-post-featured-image elementor-widget-image\" data-id=\"dead1a9\" data-element_type=\"widget\" data-widget_type=\"theme-post-featured-image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1576\" height=\"866\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp\" class=\"attachment-full size-full wp-image-19589\" alt=\"\" srcset=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp 1576w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13-300x165.webp 300w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13-1024x563.webp 1024w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13-768x422.webp 768w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13-1536x844.webp 1536w\" sizes=\"(max-width: 1576px) 100vw, 1576px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1d24cc0 e-flex e-con-boxed e-con e-parent\" data-id=\"1d24cc0\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-ac505bf e-con-full e-flex e-con e-child\" data-id=\"ac505bf\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-d922517 e-con-full e-flex e-con e-child\" data-id=\"d922517\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5d3d852 accordion elementor-widget elementor-widget-n-accordion\" data-id=\"5d3d852\" data-element_type=\"widget\" data-settings=\"{&quot;default_state&quot;:&quot;all_collapsed&quot;,&quot;max_items_expended&quot;:&quot;one&quot;,&quot;n_accordion_animation_duration&quot;:{&quot;unit&quot;:&quot;ms&quot;,&quot;size&quot;:400,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-accordion.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-accordion\" aria-label=\"Accordion. Open links with Enter or Space, close with Escape, and navigate with Arrow Keys\">\n\t\t\t\t\t\t<details id=\"e-n-accordion-item-9770\" class=\"e-n-accordion-item\" >\n\t\t\t\t<summary class=\"e-n-accordion-item-title\" data-accordion-index=\"1\" tabindex=\"0\" aria-expanded=\"false\" aria-controls=\"e-n-accordion-item-9770\" >\n\t\t\t\t\t<span class='e-n-accordion-item-title-header'><div class=\"e-n-accordion-item-title-text\"> Chapters <\/div><\/span>\n\t\t\t\t\t\t\t\t\t<\/summary>\n\t\t\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-cc0a82f e-con-full e-flex e-con e-child\" data-id=\"cc0a82f\" data-element_type=\"container\">\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-2968182 e-con-full chapter-block e-flex e-con e-child\" data-id=\"2968182\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9409937 elementor-widget elementor-widget-text-editor\" data-id=\"9409937\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/introduction\">Ch. 01: Introduction<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-71ae428 e-con-full chapter-block e-flex e-con e-child\" data-id=\"71ae428\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f3973f4 elementor-widget elementor-widget-text-editor\" data-id=\"f3973f4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/search-behavior\">Ch. 02: User Behavior in the Generative Era<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-27df7c5 e-con-full chapter-block e-flex e-con e-child\" data-id=\"27df7c5\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5893090 elementor-widget elementor-widget-text-editor\" data-id=\"5893090\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/search-intent\">Ch. 03: From Keywords to Questions to Conversations<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-d3d697f e-con-full chapter-block e-flex e-con e-child\" data-id=\"d3d697f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-52ef81e elementor-widget elementor-widget-text-editor\" data-id=\"52ef81e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-landscape\">Ch. 04: The New Gatekeepers and the GEO Landscape<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-bee8238 e-con-full chapter-block e-flex e-con e-child\" data-id=\"bee8238\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7b55ac2 elementor-widget elementor-widget-text-editor\" data-id=\"7b55ac2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/google-advantage\">Ch. 05: The Unassailable Advantage of Google<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-02fbbbc e-con-full chapter-block e-flex e-con e-child\" data-id=\"02fbbbc\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d656029 elementor-widget elementor-widget-text-editor\" data-id=\"d656029\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/ir-evolution\">Ch. 06: The Evolution of Information Retrieval<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-9530a4e e-con-full chapter-block e-flex e-con e-child\" data-id=\"9530a4e\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-95e94ac elementor-widget elementor-widget-text-editor\" data-id=\"95e94ac\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/search-architecture\">Ch. 07: AI Search Architecture Deep Dive<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-7f596f1 e-con-full chapter-block e-flex e-con e-child\" data-id=\"7f596f1\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b4aa6f5 elementor-widget elementor-widget-text-editor\" data-id=\"b4aa6f5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/query-fan-out\">Ch. 08: Query Fan-Out, Latent Intent, and Source Aggregation<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-b5d79aa e-con-full chapter-block e-flex e-con e-child\" data-id=\"b5d79aa\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dfa0787 elementor-widget elementor-widget-text-editor\" data-id=\"dfa0787\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo\">Ch. 09: How to Appear in AI Search Results (The GEO Core)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-3710c2f e-con-full chapter-block e-flex e-con e-child\" data-id=\"3710c2f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5654dfe elementor-widget elementor-widget-text-editor\" data-id=\"5654dfe\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/relevance-engineering\">Ch. 10: Relevance Engineering in Practice (The GEO Art)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-e20f8d0 e-con-full chapter-block e-flex e-con e-child\" data-id=\"e20f8d0\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7f14835 elementor-widget elementor-widget-text-editor\" data-id=\"7f14835\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/content-strategy-geo\">Ch. 11: Content Strategy for LLM-Centric Discovery (GEO Content Production)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-ada4b0a e-con-full chapter-block e-flex e-con e-child\" data-id=\"ada4b0a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0c40624 elementor-widget elementor-widget-text-editor\" data-id=\"0c40624\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/measurement-geo\">Ch. 12: The Measurement Chasm<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-7de6cc4 e-con-full chapter-block e-flex e-con e-child\" data-id=\"7de6cc4\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-630b8c9 elementor-widget elementor-widget-text-editor\" data-id=\"630b8c9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/tracking\">Ch. 13: Tracking AI Search Visibility (GEO Analytics)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-27adcaa e-con-full chapter-block e-flex e-con e-child\" data-id=\"27adcaa\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d62dfbc elementor-widget elementor-widget-text-editor\" data-id=\"d62dfbc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/attribution\">Ch. 14: Query and Entity Attribution for GEO<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-b5d8f93 e-con-full chapter-block e-flex e-con e-child\" data-id=\"b5d8f93\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a45fc5d elementor-widget elementor-widget-text-editor\" data-id=\"a45fc5d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/simulation\">Ch. 15: Simulating the System for GEO Insights<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-4079f53 e-con-full chapter-block e-flex e-con e-child\" data-id=\"4079f53\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-644a9cb elementor-widget elementor-widget-text-editor\" data-id=\"644a9cb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-team\">Ch. 16: Redefining Your SEO Team to a GEO Team<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-b22c2aa e-con-full chapter-block e-flex e-con e-child\" data-id=\"b22c2aa\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-38fae61 elementor-widget elementor-widget-text-editor\" data-id=\"38fae61\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-agency\">Ch. 17: Agency and Vendor Selection for GEO Success<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-087438f e-con-full chapter-block e-flex e-con e-child\" data-id=\"087438f\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6821805 elementor-widget elementor-widget-text-editor\" data-id=\"6821805\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-challenge\">Ch. 18: The Content Collapse and AI Slop \u2013 A GEO Challenge<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-5391806 e-con-full chapter-block e-flex e-con e-child\" data-id=\"5391806\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7fae064 elementor-widget elementor-widget-text-editor\" data-id=\"7fae064\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-ethics\">Ch. 19: Trust, Truth, and the Invisible Algorithm<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-70a09ab e-con-full chapter-block e-flex e-con e-child\" data-id=\"70a09ab\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-187b3e7 elementor-widget elementor-widget-text-editor\" data-id=\"187b3e7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-future\">Ch. 20: The Future of AI-First Discovery &amp; Advanced GEO<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-bb0a265 e-con-full chapter-block e-flex e-con e-child\" data-id=\"bb0a265\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3cae161 elementor-widget elementor-widget-text-editor\" data-id=\"3cae161\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"#appendices\">Appendices<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div role=\"region\" aria-labelledby=\"e-n-accordion-item-9770\" class=\"elementor-element elementor-element-f8bb1e5 e-con-full e-flex e-con e-child\" data-id=\"f8bb1e5\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/details>\n\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-35e6cb6 e-con-full e-flex e-con e-child\" data-id=\"35e6cb6\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f3ea856 e-con-full e-flex e-con e-child\" data-id=\"f3ea856\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-18d98a6 e-con-full e-flex e-con e-child\" data-id=\"18d98a6\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8bcb150 elementor-widget elementor-widget-image\" data-id=\"8bcb150\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ipullrank.com\/ai-search-manual\/measurement-geo\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"30\" height=\"30\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/Navigation-Right-1-Streamline-Ultimate.svg-3.png\" class=\"attachment-large size-large wp-image-19486\" alt=\"\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e642dad elementor-widget elementor-widget-text-editor\" data-id=\"e642dad\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/measurement-geo\">Previous<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e4bf1a2 e-con-full e-flex e-con e-child\" data-id=\"e4bf1a2\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-260a8cc elementor-widget elementor-widget-text-editor\" data-id=\"260a8cc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/attribution\">Next<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fce9a1d elementor-widget elementor-widget-image\" data-id=\"fce9a1d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ipullrank.com\/ai-search-manual\/attribution\">\n\t\t\t\t\t\t\t<img decoding=\"async\" width=\"30\" height=\"30\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/Navigation-Right-1-Streamline-Ultimate.svg-2.png\" class=\"attachment-large size-large wp-image-19487\" alt=\"\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-81b0745 e-flex e-con-boxed e-con e-parent\" data-id=\"81b0745\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0596e61 elementor-widget elementor-widget-html\" data-id=\"0596e61\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<iframe src=\"https:\/\/player.rss.com\/rankablelive\/2209217?theme=dark&v=2&about=false&hl=aGlkZV9sb2dv\" width=\"100%\" height=\"202px\" title=\" Chapter 13; Tracking AI Search Visibility (GEO An\" frameBorder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen scrolling=\"no\"><a href=\"https:\/\/rss.com\/podcasts\/rankablelive\/2209217\/\"> Chapter 13; Tracking AI Search Visibility (GEO An | RSS.com<\/a><\/iframe>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c6e0bda elementor-widget elementor-widget-text-editor\" data-id=\"c6e0bda\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">The transition from traditional search engine optimization to Generative Engine Optimization has reshaped what it means to measure \u201cvisibility.\u201d In the old model, you could simply look at where you ranked for a keyword, check impression and click data in Search Console, and track the downstream business impact. Generative search platforms like Google AI Overview, Google AI Mode, Perplexity, and Bing CoPilot have disrupted that linear model. Now, the question isn\u2019t just \u201cDo I rank?\u201d \u2014 it\u2019s \u201cAm I cited in the generative answer layer?\u201d That layer is a volatile, opaque environment where citations can appear or vanish depending on subtle shifts in the query, the user\u2019s context, and the model\u2019s retrieval decisions.<\/span><\/p><p><span style=\"font-weight: 400;\">The difficulty here is twofold. First, generative answer layers often don\u2019t exist in the analytics tools we\u2019ve relied on for two decades. Second, even when we can detect them, they\u2019re not stable: a query you monitor today may return a different set of citations in a subsequent prompt, even with no visible change to your content. The challenge for GEO practitioners is to build measurement systems that illuminate this hidden layer, track it over time, and link those appearances to actionable outcomes.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3d12684 elementor-widget elementor-widget-image\" data-id=\"3d12684\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"524\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-01-1024x671.jpg\" class=\"attachment-large size-large wp-image-19927\" alt=\"\" srcset=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-01-1024x671.jpg 1024w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-01-300x197.jpg 300w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-01-768x503.jpg 768w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-01.jpg 1366w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59f02d0 elementor-widget elementor-widget-heading\" data-id=\"59f02d0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Custom Agents and Log File Analysis<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a49457 elementor-widget elementor-widget-text-editor\" data-id=\"1a49457\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">The most effective GEO visibility programs combine <\/span><b>active detection<\/b><span style=\"font-weight: 400;\"> and <\/span><b>passive detection<\/b><span style=\"font-weight: 400;\"> methods. Active detection uses custom monitoring agents or software you control that queries AI search systems, captures their answers, and analyzes them for references to your domain. Passive detection involves analyzing your own server logs to spot retrieval behavior from AI crawlers.<\/span><\/p><p><span style=\"font-weight: 400;\">Custom agents can be as simple as a script that uses browser automation (Puppeteer, Playwright, Selenium) to run a query list and take a screenshot, or as complex as a full data pipeline that captures HTML\/JSON responses, parses them, and stores structured citation data. The sophistication matters because AI answers change. Unlike traditional rankings, there\u2019s no fixed position or URL you can rely on; the answer is regenerated on each run. For this reason, agents should be scheduled to run queries multiple times a day, capturing not only whether you were cited but also the variability in citation sets over time. That volatility data can be valuable in its own right, especially when correlating with changes in your content or in the broader competitive landscape.<\/span><\/p><p><span style=\"font-weight: 400;\">Log file analysis complements this by showing you <\/span><i><span style=\"font-weight: 400;\">when<\/span><\/i><span style=\"font-weight: 400;\"> an AI system has fetched your content. For example, if PerplexityBot hits your site twice as often in a given week, and you notice a corresponding increase in Perplexity citations in your active monitoring, you\u2019ve uncovered a retrieval-citation relationship. Advanced log parsing can even group bot hits by target URL, revealing which pages the AI systems consider most relevant to the queries you\u2019re targeting.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-039d313 elementor-widget elementor-widget-image\" data-id=\"039d313\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"407\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-02-1024x521.jpg\" class=\"attachment-large size-large wp-image-19928\" alt=\"\" srcset=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-02-1024x521.jpg 1024w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-02-300x153.jpg 300w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-02-768x391.jpg 768w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/13-02.jpg 1366w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e0cad0d elementor-widget elementor-widget-heading\" data-id=\"e0cad0d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">AI Search Bots<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b67ed2c elementor-widget elementor-widget-text-editor\" data-id=\"b67ed2c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Here\u2019s a list of the known AI search bots that actively crawl and index content for use in generative search experiences. These user agents represent the retrieval layer of various AI platforms, from large conversational models like ChatGPT and Bing Copilot to transparent answer engines such as Perplexity. By identifying and monitoring these bots in your server logs, you can better understand when and how your content is being accessed for potential inclusion in AI-generated responses. This visibility is critical for GEO analysis because fluctuations in crawl activity can signal changes in retrieval eligibility, shifts in ranking priorities, or evolving index coverage. Keeping an up-to-date inventory of these user agents, and correlating their visits with changes in your generative search presence, provides one of the few measurable touchpoints in an otherwise opaque AI retrieval process.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-368f31c elementor-widget elementor-widget-text-editor\" data-id=\"368f31c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u00a0<\/p><table><tbody><tr><td><p><b>Vendor<\/b><\/p><\/td><td><p><b>User agent \/ token (what you\u2019ll see)<\/b><\/p><\/td><td><p><b>What it does<\/b><\/p><\/td><td><p><b>How to control<\/b><\/p><\/td><td><p><b>Notes \/ docs<\/b><\/p><\/td><\/tr><tr><td><p><b>OpenAI<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">GPTBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Training\/collection crawler for OpenAI models.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: GPTBot<\/span><span style=\"font-weight: 400;\"> in <\/span><span style=\"font-weight: 400;\">robots.txt<\/span><span style=\"font-weight: 400;\">.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Official OpenAI bots page lists GPTBot and control syntax.<\/span><a href=\"https:\/\/platform.openai.com\/docs\/bots?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">OpenAI Platform<\/span><\/a><\/p><\/td><\/tr><tr><td>\u00a0<\/td><td><p><span style=\"font-weight: 400;\">OAI-SearchBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Fetches content to <\/span><b>surface and link<\/b><span style=\"font-weight: 400;\"> sites in ChatGPT\u2019s search features; not for training.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: OAI-SearchBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Explicitly documented by OpenAI.<\/span><a href=\"https:\/\/platform.openai.com\/docs\/bots?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">OpenAI Platform<\/span><\/a><\/p><\/td><\/tr><tr><td>\u00a0<\/td><td><p><span style=\"font-weight: 400;\">ChatGPT-User<\/span><\/p><\/td><td><p><b>On-demand<\/b><span style=\"font-weight: 400;\"> fetcher when a ChatGPT session, Custom GPT, or tool asks to load a URL.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: ChatGPT-User<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Behaves like a browser agent for user-initiated retrieval; OpenAI and third-party guidance document its control.<\/span><a href=\"https:\/\/www.withdaydream.com\/library\/how-openai-crawls-and-indexes-your-website?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">Daydream<\/span><\/a><a href=\"https:\/\/platform.openai.com\/docs\/bots?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">OpenAI Platform<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Anthropic (Claude)<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">ClaudeBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Broad web crawling to improve Claude; training-oriented.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: ClaudeBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Official help article clarifies purpose and robots control.<\/span><a href=\"https:\/\/support.anthropic.com\/en\/articles\/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">Anthropic Help Center<\/span><\/a><\/p><\/td><\/tr><tr><td>\u00a0<\/td><td><p><span style=\"font-weight: 400;\">Claude-User<\/span><\/p><\/td><td><p><b>User-triggered<\/b><span style=\"font-weight: 400;\"> fetching when a person asks Claude to visit a page.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: Claude-User<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Separate from training bot; used during chats.<\/span><a href=\"https:\/\/support.anthropic.com\/en\/articles\/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">Anthropic Help Center<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Perplexity AI<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">PerplexityBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Perplexity\u2019s crawler for indexing the web to power its answer engine.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: PerplexityBot<\/span><span style=\"font-weight: 400;\"> (see also published IP list)<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Official bot page and JSON of IPs; recent reports allege stealth UA impersonation when blocked.<\/span><\/p><\/td><\/tr><tr><td>\u00a0<\/td><td><p><span style=\"font-weight: 400;\">Perplexity-User<\/span><\/p><\/td><td><p><b>User-driven<\/b><span style=\"font-weight: 400;\"> fetcher during an answer session; not for model training.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: Perplexity-User<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Documented as request-time retrieval, not corpus crawling.<\/span><a href=\"https:\/\/docs.perplexity.ai\/guides\/bots?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">Perplexity<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Google (Gemini \/ AI Overviews)<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">Google-Extended<\/span><span style=\"font-weight: 400;\"> (robots <\/span><b>token<\/b><span style=\"font-weight: 400;\">)<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Opt-out token controlling whether Google may use your site for <\/span><b>AI model training\/AI features<\/b><span style=\"font-weight: 400;\"> beyond standard Search.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: Google-Extended<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">This is a robots token, not a distinct fetching UA; Google\u2019s crawlers still identify as Googlebot family.<\/span><a href=\"https:\/\/developers.google.com\/search\/docs\/crawling-indexing\/overview-google-crawlers?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">Google for Developers<\/span><\/a><\/p><\/td><\/tr><tr><td>\u00a0<\/td><td><p><span style=\"font-weight: 400;\">Googlebot family (<\/span><span style=\"font-weight: 400;\">Googlebot<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">Googlebot-Image<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">Googlebot-Video<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">Googlebot-News<\/span><span style=\"font-weight: 400;\">, etc.)<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Actual HTTP fetchers for Search and features that also supply content to generative products.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Use their respective user-agent names in <\/span><span style=\"font-weight: 400;\">robots.txt<\/span><span style=\"font-weight: 400;\">.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Comprehensive list and behavior in Search Central docs.<\/span><a href=\"https:\/\/developers.google.com\/search\/docs\/crawling-indexing\/google-common-crawlers?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">Google for Developers<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Apple (Apple Intelligence)<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">Applebot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">General crawler supporting Siri\/Spotlight and Apple services.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: Applebot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Standard Apple crawling.<\/span><a href=\"https:\/\/support.apple.com\/en-us\/119829?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">Apple Support<\/span><\/a><\/p><\/td><\/tr><tr><td>\u00a0<\/td><td><p><span style=\"font-weight: 400;\">Applebot-Extended<\/span><span style=\"font-weight: 400;\"> (robots <\/span><b>token<\/b><span style=\"font-weight: 400;\">)<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Governs use of your content for <\/span><b>training Apple\u2019s foundation models<\/b><span style=\"font-weight: 400;\">.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: Applebot-Extended<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Apple documents opt-out explicitly.<\/span><a href=\"https:\/\/support.apple.com\/en-us\/119829?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">Apple Support<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Microsoft \/ Bing \/ Copilot<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">bingbot<\/span><span style=\"font-weight: 400;\"> (various modern UA strings)<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Core Bing crawler; content may be used in Copilot\/answers.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: bingbot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Official UA formats documented by Microsoft\/Bing.<\/span><a href=\"https:\/\/www.bing.com\/webmasters\/help\/which-crawlers-does-bing-use-8c184ec0?utm_source=chatgpt.com\"> <span style=\"font-weight: 400;\">Search &#8211; Microsoft Bing<\/span><\/a> <a href=\"https:\/\/blogs.bing.com\/webmaster\/april-2022\/Announcing-user-agent-change-for-Bing-crawler-bingbot?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">Bing Blogs<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>You.com<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">YouBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Crawler for You.com\u2019s AI assistant and search.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: YouBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Seen in multiple bot directories.<\/span><a href=\"https:\/\/darkvisitors.com\/agents\/youbot?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Cohere<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">cohere-training-data-crawler<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Training crawler for Cohere LLMs.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: cohere-training-data-crawler<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Documented in bot directories; widely observed.<\/span><a href=\"https:\/\/darkvisitors.com\/agents\/cohere-training-data-crawler?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td>\u00a0<\/td><td><p><span style=\"font-weight: 400;\">cohere-ai<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Likely <\/span><b>on-demand<\/b><span style=\"font-weight: 400;\"> fetcher associated with chat products.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: cohere-ai<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Marked as unconfirmed; treat as observed in the wild.<\/span><a href=\"https:\/\/darkvisitors.com\/agents\/cohere-ai?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Common Crawl<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">CCBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Open web crawl used as upstream data for many AI models and research.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: CCBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Allow\/Disallow as desired; heavily reused in AI training.<\/span><a href=\"https:\/\/momenticmarketing.com\/blog\/ai-search-crawlers-bots?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Allen Institute (AI2 \/ Semantic Scholar)<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">AI2Bot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Research crawler powering Semantic Scholar and related AI research uses.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: AI2Bot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Often permitted for academic purposes.<\/span><a href=\"https:\/\/momenticmarketing.com\/blog\/ai-search-crawlers-bots?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Meta<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">FacebookBot<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">facebookexternalhit<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">meta-externalagent<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Social preview fetchers; content may inform Meta AI features.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agents as listed.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Primary purpose is previews; policy landscape is evolving for AI usage.<\/span><a href=\"https:\/\/momenticmarketing.com\/blog\/ai-search-crawlers-bots?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>ByteDance (TikTok, Toutiao, CapCut)<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">Bytespider<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Broad crawler; content can feed TikTok\/AI features.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: Bytespider<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Frequently seen; controllable via robots.<\/span><a href=\"https:\/\/momenticmarketing.com\/blog\/ai-search-crawlers-bots?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Amazon<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">Amazonbot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Amazon\u2019s crawler; supports various AI-enabled experiences.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: Amazonbot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Official bot page provides details.<\/span><a href=\"https:\/\/momenticmarketing.com\/blog\/ai-search-crawlers-bots?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>DuckDuckGo<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">DuckAssistBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Fetcher associated with DuckAssist answer feature.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: DuckAssistBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Visibility in bot directories; DDG positions feature as privacy-preserving.<\/span><a href=\"https:\/\/momenticmarketing.com\/blog\/ai-search-crawlers-bots?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Diffbot<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">Diffbot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">ML extraction service often used in AI data pipelines.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: Diffbot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Converts pages to structured data.<\/span><a href=\"https:\/\/momenticmarketing.com\/blog\/ai-search-crawlers-bots?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Omgili (forums)<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">omgili<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Forum\/discussion indexer used by data vendors and AI pipelines.<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">User-agent: omgili<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Common in conversation scraping datasets.<\/span><a href=\"https:\/\/momenticmarketing.com\/blog\/ai-search-crawlers-bots?utm_source=chatgpt.com\"><span style=\"font-weight: 400;\">\u00a0<\/span><\/a><\/p><\/td><\/tr><tr><td><p><b>Timpi (decentralized search)<\/b><\/p><\/td><td><p><span style=\"font-weight: 400;\">Timpibot<\/span><span style=\"font-weight: 400;\"> \/ <\/span><span style=\"font-weight: 400;\">TimpiBot<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Decentralized indexer; appears in AI search startup stacks.<\/span><\/p><\/td><td>\u00a0<\/td><td>\u00a0<\/td><\/tr><\/tbody><\/table>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5ebf029 elementor-widget elementor-widget-heading\" data-id=\"5ebf029\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">AI Overview and AI Mode Detection and Tracking<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e2a59da elementor-widget elementor-widget-text-editor\" data-id=\"e2a59da\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">While both AI Overviews and AI Mode are powered by Google\u2019s generative systems, they are distinct environments that require separate detection strategies.<\/span><\/p><p><span style=\"font-weight: 400;\">AI Overviews show up in a panel embedded within a traditional SERP. It\u2019s triggered selectively, often for queries where Google believes a synthesized answer will improve the search experience. Detecting it involves running your target queries in Google Search, capturing the SERP DOM, and parsing for the presence of the Overview block. Within that block, you\u2019re looking for anchor tags pointing to your domain, as well as textual matches to your content. The key is that the Overview can appear or disappear for the same query based on user context, testing conditions, or model updates. A single spot-check isn\u2019t enough. You need longitudinal data to understand your true visibility.<\/span><\/p><p><span style=\"font-weight: 400;\">AI Mode is different. It lives in its own conversational interface, and the retrieval behavior is broader and more reasoning-driven. Running the same query in AI Mode can return citations from entirely different sources than an AI Overview. This is partly because AI Mode\u2019s objective is to sustain a multi-turn dialogue, not just summarize. Detecting citations here means capturing the full conversation output (often longer and more complex) and extracting every linked source. Comparing this to AI Overview results can uncover platform biases, preferred sources, and thematic coverage gaps that affect your inclusion rate.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-790ec3a elementor-widget elementor-widget-heading\" data-id=\"790ec3a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Using FetchSERP to Track AIOs and AI Mode\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f5e789a elementor-widget elementor-widget-text-editor\" data-id=\"f5e789a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/www.fetchserp.com\"><span style=\"font-weight: 400;\">FetchSERP<\/span><\/a><span style=\"font-weight: 400;\"> exposes REST endpoints for classic SERP data and, importantly for Generative Engine Optimization (GEO), <\/span><b>AI Overviews<\/b><span style=\"font-weight: 400;\"> and <\/span><b>AI Mode<\/b><span style=\"font-weight: 400;\">. Their <\/span><span style=\"font-weight: 400; color: #339966;\">\/api\/v1<\/span><span style=\"font-weight: 400;\"> family includes <\/span><span style=\"font-weight: 400; color: #339966;\">serp<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400; color: #339966;\">serp_js<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400; color: #339966;\">serp_ai<\/span><span style=\"font-weight: 400;\">, and <\/span><span style=\"font-weight: 400; color: #339966;\">serp_ai_mode<\/span><span style=\"font-weight: 400;\">. For GEO monitoring, we focus on the two AI-specific endpoints:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"color: #339966;\"><b>GET https:\/\/www.fetchserp.com\/api\/v1\/serp_ai<\/b><\/span><span style=\"font-weight: 400;\"> \u2014 Returns AI Overview plus AI Mode fields in one payload where available.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"color: #339966;\"><b>GET https:\/\/www.fetchserp.com\/api\/v1\/serp_ai_mode<\/b><\/span><span style=\"font-weight: 400;\"> \u2014 A cached, US-only accelerator for AI Mode content.<\/span><\/li><\/ul><p><span style=\"font-weight: 400;\">All requests require your API token in the <\/span><span style=\"font-weight: 400;\">Authorization: Bearer TOKEN<\/span><span style=\"font-weight: 400;\"> header. You pass the search <\/span><span style=\"font-weight: 400; color: #339966;\">query<\/span><span style=\"font-weight: 400;\"> and optionally <\/span><span style=\"font-weight: 400; color: #339966;\">country<\/span><span style=\"font-weight: 400;\"> (default <\/span><span style=\"font-weight: 400; color: #339966;\">us<\/span><span style=\"font-weight: 400;\">).<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ace08ea elementor-widget elementor-widget-heading\" data-id=\"ace08ea\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">What goes in your Sheet\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-beb0cb1 elementor-widget elementor-widget-text-editor\" data-id=\"beb0cb1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ol><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Keywords tab<\/b><span style=\"font-weight: 400;\"> \u2014 Create a tab named <\/span><span style=\"font-weight: 400; color: #339966;\">Keywords<\/span><span style=\"font-weight: 400;\"> with <\/span><span style=\"font-weight: 400; color: #339966;\">keyword<\/span><span style=\"font-weight: 400;\"> in A1 and one search term per row beneath it.<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">On the first run, the script auto-creates:<\/span><span style=\"font-weight: 400;\"><br \/><\/span><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"color: #339966;\"><b>AIO_Results<\/b><\/span><span style=\"font-weight: 400;\"> \u2014 Per-keyword flags and source details when Google shows an AI Overview.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"color: #339966;\"><b>AI_Mode_Results<\/b><\/span><span style=\"font-weight: 400;\"> \u2014 Per-keyword flags and source details when an AI Mode result exists.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"color: #339966;\"><b>GEO_AISummary<\/b><\/span><span style=\"font-weight: 400;\"> \u2014 A summary and chart of how many queries triggered each surface.<\/span><\/li><\/ul><\/li><\/ol><p><span style=\"font-weight: 400;\">Each results sheet has a <\/span><span style=\"color: #339966;\"><b>timestamp<\/b><\/span><span style=\"font-weight: 400;\"> column in the first position. Every run appends new rows with the current date\/time so you can build a <\/span><b>time-series dashboard<\/b><span style=\"font-weight: 400;\"> showing changes in visibility over days, weeks, or months.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bca1f05 elementor-widget elementor-widget-text-editor\" data-id=\"bca1f05\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">This means you can:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Run it multiple times per day to capture short-term variability.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Run it daily to build historical trendlines.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Track the frequency, position, and source patterns of your citations over time.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-094c605 elementor-widget elementor-widget-text-editor\" data-id=\"094c605\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">The chart on <\/span><span style=\"font-weight: 400; color: #339966;\">GEO_AISummary<\/span><span style=\"font-weight: 400;\"> starts as a snapshot view, but with the timestamped data, you can easily pivot by date to show rolling counts or share of voice over time.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-825f720 elementor-widget elementor-widget-heading\" data-id=\"825f720\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Apps Script (paste in Extensions \u2192 Apps Script)\n<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a14c18 elementor-widget elementor-widget-text-editor\" data-id=\"1a14c18\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Before first run, set your FetchSERP API key in <\/span><b>Project Settings \u2192 Script properties<\/b><span style=\"font-weight: 400;\"> with the key <\/span><span style=\"font-weight: 400;\">FETCHSERP_API_TOKEN<\/span><span style=\"font-weight: 400;\">. You can also hard-code it in the script where marked if you prefer, but properties are safer.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db80274 elementor-widget elementor-widget-text-editor\" data-id=\"db80274\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ol><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Add your API token<\/b><span style=\"font-weight: 400;\"> \u2014 In Apps Script, go to <\/span><b>Project Settings \u2192 Script properties<\/b><span style=\"font-weight: 400;\"> and set <\/span><span style=\"font-weight: 400;\">FETCHSERP_API_TOKEN<\/span><span style=\"font-weight: 400;\"> to your FetchSERP key (safer than hard-coding).<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Paste the script<\/b><span style=\"font-weight: 400;\"> \u2014 Use <\/span><b>Extensions \u2192 Apps Script<\/b><span style=\"font-weight: 400;\">, paste the provided code, and save.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Run from menu<\/b><span style=\"font-weight: 400;\"> \u2014 Reload your Google Sheet. You\u2019ll see a new menu: <\/span><span style=\"font-weight: 400;\">GEO (FetchSERP) \u2192 Fetch AIO &amp; AI Mode<\/span><span style=\"font-weight: 400;\">.<\/span><\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fd33443 elementor-widget elementor-widget-text-editor\" data-id=\"fd33443\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u00a0<span style=\"font-weight: 400;\">The script loops through your keywords, calls both endpoints, normalizes the results, and appends them to the appropriate sheets with the current timestamp.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a332d97 elementor-widget elementor-widget-code-highlight\" data-id=\"a332d97\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard word-wrap\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>\n\/**\n * FetchSERP \u2192 Google Sheets tracker for AI Overviews (AIO) and AI Mode\n * with rank-like signals and brand presence pivot.\n *\n * Tabs expected\/created:\n *  - Keywords: column A header \"keyword\", then one query per row.\n *  - Brands: column A header \"domain\" (your brand domains, no www).\n *  - AIO_Results: appended per run (presence + top domains).\n *  - AI_Mode_Results: appended per run (presence + top domains).\n *  - AI_Sources: appended per run (1 row per citation with rank and metadata).\n *  - GEO_AISummary: summary counts + chart (AIO vs AI Mode triggers).\n *  - GEO_BrandPresence: pivot for latest run + chart of rank-1 shares.\n *\/\n\nconst FETCHSERP_BASE = 'https:\/\/www.fetchserp.com\/api\/v1';\nconst DEFAULT_COUNTRY = 'us';\n\nfunction onOpen() {\n  SpreadsheetApp.getUi()\n    .createMenu('GEO (FetchSERP)')\n    .addItem('Fetch AIO & AI Mode', 'runAIOTracking')\n    .addToUi();\n}\n\nfunction runAIOTracking() {\n  const ss = SpreadsheetApp.getActiveSpreadsheet();\n  const token = getApiToken_();\n  const keywords = getKeywords_(ss);\n  ensureBrandsSheet_(ss); \/\/ make sure Brands exists (empty is fine)\n\n  const aioSheet = ensureSheet_(ss, 'AIO_Results', [\n    'timestamp', 'keyword', 'country',\n    'has_ai_overview', 'source_count', 'top_source_domain', 'all_sources'\n  ]);\n\n  const aimodeSheet = ensureSheet_(ss, 'AI_Mode_Results', [\n    'timestamp', 'keyword', 'country',\n    'has_ai_mode', 'source_count', 'top_source_domain', 'all_sources'\n  ]);\n\n  const srcSheet = ensureSheet_(ss, 'AI_Sources', [\n    'timestamp', 'keyword', 'country', 'surface', \/\/ AIO or AI_MODE\n    'rank', 'url', 'domain', 'title', 'site_name'\n  ]);\n\n  const now = new Date();\n  const aioRows = [];\n  const aimodeRows = [];\n  const sourceRows = [];\n\n  for (const kw of keywords) {\n    const country = DEFAULT_COUNTRY;\n\n    \/\/ Primary combined endpoint\n    const aiData = callFetchSerp_('serp_ai', { query: kw, country }, token);\n\n    \/\/ Optional AI Mode accelerator (US-only, cached)\n    let aiModeData = null;\n    try {\n      aiModeData = callFetchSerp_('serp_ai_mode', { query: kw }, token);\n    } catch (e) {\n      \/\/ OK to ignore; not always necessary\n    }\n\n    \/\/ ---- AI OVERVIEW ----\n    const aioBlock = getBlock_(aiData, 'ai_overview');\n    const aioSources = normalizeSources_(aioBlock && aioBlock.sources);\n    const aioTop = aioSources.length ? aioSources[0] : null;\n    aioRows.push([\n      now, kw, country,\n      !!aioBlock,\n      aioSources.length,\n      aioTop ? domainOnly_(aioTop.url || aioTop.site_name || '') : '',\n      aioSources.map(s => domainOnly_(s.url || s.site_name || '')).join(' | ')\n    ]);\n\n    \/\/ push detailed sources with rank\n    aioSources.forEach((s, i) => {\n      sourceRows.push([\n        now, kw, country, 'AIO',\n        i + 1,\n        s.url || '',\n        domainOnly_(s.url || s.site_name || ''),\n        s.title || '',\n        s.site_name || ''\n      ]);\n    });\n\n    \/\/ ---- AI MODE ----\n    const aiModeBlock = extractAiMode_(aiModeData) || extractAiMode_(aiData);\n    const aimSources = normalizeSources_(aiModeBlock && aiModeBlock.sources);\n    const aimTop = aimSources.length ? aimSources[0] : null;\n    aimodeRows.push([\n      now, kw, country,\n      !!aiModeBlock,\n      aimSources.length,\n      aimTop ? domainOnly_(aimTop.url || aimTop.site_name || '') : '',\n      aimSources.map(s => domainOnly_(s.url || s.site_name || '')).join(' | ')\n    ]);\n\n    aimSources.forEach((s, i) => {\n      sourceRows.push([\n        now, kw, country, 'AI_MODE',\n        i + 1,\n        s.url || '',\n        domainOnly_(s.url || s.site_name || ''),\n        s.title || '',\n        s.site_name || ''\n      ]);\n    });\n\n    Utilities.sleep(400); \/\/ rate-friendly\n  }\n\n  if (aioRows.length) appendRows_(aioSheet, aioRows);\n  if (aimodeRows.length) appendRows_(aimodeSheet, aimodeRows);\n  if (sourceRows.length) appendRows_(srcSheet, sourceRows);\n\n  buildSummaryAndChart_();\n  buildBrandPresencePivotAndChart_(); \/\/ NEW\n}\n\n\/* ----------------------- Helpers & Builders ----------------------- *\/\n\nfunction getApiToken_() {\n  const props = PropertiesService.getScriptProperties();\n  const token = props.getProperty('FETCHSERP_API_TOKEN') || '';\n  if (!token) {\n    throw new Error('Missing FETCHSERP_API_TOKEN in Script properties. Set it in Project Settings.');\n  }\n  return token;\n}\n\nfunction getKeywords_(ss) {\n  const sh = ss.getSheetByName('Keywords');\n  if (!sh) throw new Error('Missing \"Keywords\" sheet with header \"keyword\" in A1.');\n  const values = sh.getRange(2, 1, Math.max(0, sh.getLastRow() - 1), 1)\n    .getValues().flat().map(String).map(s => s.trim()).filter(Boolean);\n  if (!values.length) throw new Error('No keywords found under header \"keyword\" (A2:A).');\n  return values;\n}\n\nfunction ensureSheet_(ss, name, headers) {\n  let sh = ss.getSheetByName(name);\n  if (!sh) sh = ss.insertSheet(name);\n  if (sh.getLastRow() === 0) {\n    sh.getRange(1, 1, 1, headers.length).setValues([headers]);\n    sh.setFrozenRows(1);\n  }\n  return sh;\n}\n\nfunction ensureBrandsSheet_(ss) {\n  let sh = ss.getSheetByName('Brands');\n  if (!sh) {\n    sh = ss.insertSheet('Brands');\n    sh.getRange(1, 1).setValue('domain');\n    sh.setFrozenRows(1);\n  }\n  return sh;\n}\n\nfunction callFetchSerp_(path, params, token) {\n  const url = `${FETCHSERP_BASE}\/${path}?` + Object.keys(params)\n    .map(k => `${encodeURIComponent(k)}=${encodeURIComponent(params[k])}`).join('&');\n\n  const res = UrlFetchApp.fetch(url, {\n    method: 'get',\n    headers: { 'accept': 'application\/json', 'authorization': `Bearer ${token}` },\n    muteHttpExceptions: true\n  });\n\n  const code = res.getResponseCode();\n  const text = res.getContentText();\n  if (code < 200 || code >= 300) throw new Error(`FetchSERP ${path} error ${code}: ${text}`);\n\n  try { return JSON.parse(text); }\n  catch (e) { throw new Error(`FetchSERP ${path} invalid JSON: ${text.slice(0, 300)}\u2026`); }\n}\n\nfunction getBlock_(payload, key) {\n  if (!payload) return null;\n  const d = payload.data || payload;\n  if (d.results && d.results[key]) return d.results[key];\n  if (d[key]) return d[key];\n  return null;\n}\n\nfunction extractAiMode_(payload) { \/\/ tolerate different shapes\n  if (!payload) return null;\n  const d = payload.data || payload;\n  if (d.results && d.results.ai_mode) return d.results.ai_mode;\n  if (d.ai_mode) return d.ai_mode;\n  return null;\n}\n\nfunction normalizeSources_(sources) {\n  if (!Array.isArray(sources)) return [];\n  return sources\n    .map(s => s || {})\n    .map(s => ({\n      url: s.url || '',\n      title: s.title || '',\n      site_name: s.site_name || ''\n    }))\n    .filter(s => s.url || s.site_name);\n}\n\nfunction domainOnly_(u) {\n  try {\n    const host = (new URL(u)).hostname || '';\n    return host.replace(\/^www\\.\/i, '');\n  } catch (e) {\n    return (u || '').replace(\/^www\\.\/i, '');\n  }\n}\n\nfunction appendRows_(sheet, rows) {\n  sheet.getRange(sheet.getLastRow() + 1, 1, rows.length, rows[0].length).setValues(rows);\n}\n\n\/** Create or refresh a historical summary tab with counts & share of voice, plus trend chart. *\/\n\/** Create or refresh a historical summary tab with counts, SOV, and 7-day rolling averages, plus a trend chart. *\/\nfunction buildSummaryAndChart_() {\n  const ss = SpreadsheetApp.getActiveSpreadsheet();\n  const sum = ensureSheet_(ss, 'GEO_AISummary', [\n    'date',\n    'AIO_count', 'AIO_share_of_voice',\n    'AI_Mode_count', 'AI_Mode_share_of_voice',\n    'keywords_tracked',\n    'AIO_count_7dma', 'AI_Mode_count_7dma',\n    'AIO_sov_7dma', 'AI_Mode_sov_7dma'\n  ]);\n\n  \/\/ Clear old rows (keep header)\n  if (sum.getLastRow() > 1) {\n    sum.getRange(2, 1, sum.getLastRow() - 1, 11).clearContent();\n  }\n\n  const aio = ss.getSheetByName('AIO_Results');\n  const aim = ss.getSheetByName('AI_Mode_Results');\n  const kwSheet = ss.getSheetByName('Keywords');\n  if (!aio || !aim || !kwSheet) return;\n\n  const keywordsTracked = Math.max(0, kwSheet.getLastRow() - 1);\n\n  \/\/ Build daily counts maps\n  const aioCounts = countByDate_(aio, 1, 4); \/\/ timestamp col 1, has_ai_overview col 4\n  const aimCounts = countByDate_(aim, 1, 4); \/\/ timestamp col 1, has_ai_mode col 4\n\n  const allDates = Array.from(new Set([...Object.keys(aioCounts), ...Object.keys(aimCounts)]))\n    .sort((a, b) => new Date(a) - new Date(b));\n\n  \/\/ Build rows with daily values first\n  const rows = allDates.map(date => {\n    const aCount = aioCounts[date] || 0;\n    const mCount = aimCounts[date] || 0;\n    const aSOV = keywordsTracked ? aCount \/ keywordsTracked : 0;\n    const mSOV = keywordsTracked ? mCount \/ keywordsTracked : 0;\n    return [\n      date,\n      aCount, aSOV,\n      mCount, mSOV,\n      keywordsTracked,\n      null, null, \/\/ AIO_count_7dma, AI_Mode_count_7dma (fill after)\n      null, null  \/\/ AIO_sov_7dma, AI_Mode_sov_7dma (fill after)\n    ];\n  });\n\n  \/\/ Compute 7-day rolling averages (centered on the last 7 days ending at index i)\n  const aCountSeries = rows.map(r => r[1]);\n  const mCountSeries = rows.map(r => r[3]);\n  const aSovSeries   = rows.map(r => r[2]);\n  const mSovSeries   = rows.map(r => r[4]);\n\n  const aCount7 = rollingMean_(aCountSeries, 7);\n  const mCount7 = rollingMean_(mCountSeries, 7);\n  const aSov7   = rollingMean_(aSovSeries,   7);\n  const mSov7   = rollingMean_(mSovSeries,   7);\n\n  \/\/ Fill the rolling columns\n  for (let i = 0; i < rows.length; i++) {\n    rows[i][6]  = aCount7[i]; \/\/ AIO_count_7dma\n    rows[i][7]  = mCount7[i]; \/\/ AI_Mode_count_7dma\n    rows[i][8]  = aSov7[i];   \/\/ AIO_sov_7dma\n    rows[i][9]  = mSov7[i];   \/\/ AI_Mode_sov_7dma\n  }\n\n  if (rows.length) {\n    sum.getRange(2, 1, rows.length, rows[0].length).setValues(rows);\n  }\n\n  \/\/ Rebuild chart: daily counts + smoothed SOV on dual axes\n  const charts = sum.getCharts();\n  charts.forEach(c => sum.removeChart(c));\n\n  const dataHeight = rows.length + 1; \/\/ include header\n  const chart = sum.newChart()\n    .setChartType(Charts.ChartType.LINE)\n    .addRange(sum.getRange(1, 1, dataHeight, 10)) \/\/ includes counts, SOV, and 7d SOV\n    .setPosition(5, 1, 0, 0)\n    .setOption('title', 'AIO & AI Mode \u2014 Daily Counts and 7-Day SOV Averages')\n    .setOption('hAxis', { title: 'Date' })\n    .setOption('vAxes', {\n      0: { title: 'Keyword Count' },\n      1: { title: 'Share of Voice (7-day avg)', format: 'percent' }\n    })\n    \/\/ Series mapping: 0=AIO_count, 1=AIO_SOV, 2=AI_Mode_count, 3=AI_Mode_SOV, 4=keywords_tracked,\n    \/\/                 5=AIO_count_7dma, 6=AI_Mode_count_7dma, 7=AIO_sov_7dma, 8=AI_Mode_sov_7dma\n    \/\/ We'll show daily counts (0,2) on axis 0, hide raw daily SOV (1,3) to reduce noise,\n    \/\/ show smoothed SOV (7,8) on axis 1, and hide keywords_tracked (4) + count_7dma (5,6) from display.\n    .setOption('series', {\n      0: { targetAxisIndex: 0 }, \/\/ AIO_count (line)\n      1: { targetAxisIndex: 1, visibleInLegend: false, lineWidth: 0, pointsVisible: false }, \/\/ raw AIO SOV (hidden)\n      2: { targetAxisIndex: 0 }, \/\/ AI_Mode_count (line)\n      3: { targetAxisIndex: 1, visibleInLegend: false, lineWidth: 0, pointsVisible: false }, \/\/ raw AI Mode SOV (hidden)\n      4: { visibleInLegend: false, lineWidth: 0, pointsVisible: false }, \/\/ keywords_tracked (hidden)\n      5: { visibleInLegend: false, lineWidth: 0, pointsVisible: false }, \/\/ AIO_count_7dma (hidden to avoid clutter)\n      6: { visibleInLegend: false, lineWidth: 0, pointsVisible: false }, \/\/ AI_Mode_count_7dma (hidden)\n      7: { targetAxisIndex: 1 }, \/\/ AIO_sov_7dma (smooth)\n      8: { targetAxisIndex: 1 }  \/\/ AI_Mode_sov_7dma (smooth)\n    })\n    .setOption('legend', { position: 'bottom' })\n    .build();\n\n  sum.insertChart(chart);\n}\n\n\/** Simple trailing rolling mean with window W; returns array aligned to input length (nulls until window is filled). *\/\nfunction rollingMean_(arr, W) {\n  const out = new Array(arr.length).fill(null);\n  let sum = 0;\n  for (let i = 0; i < arr.length; i++) {\n    sum += (typeof arr[i] === 'number' ? arr[i] : 0);\n    if (i >= W) sum -= (typeof arr[i - W] === 'number' ? arr[i - W] : 0);\n    if (i >= W - 1) out[i] = sum \/ W;\n  }\n  return out;\n}\n\n\n\/** Helper: count how many rows have TRUE in booleanCol, grouped by date from dateCol. *\/\nfunction countByDate_(sheet, dateCol, booleanCol) {\n  const rows = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues();\n  const counts = {};\n  rows.forEach(row => {\n    const ts = row[dateCol - 1];\n    const has = row[booleanCol - 1];\n    if (ts && (has === true || has === 'TRUE')) {\n      const d = new Date(ts);\n      const dateStr = Utilities.formatDate(d, Session.getScriptTimeZone(), 'yyyy-MM-dd');\n      counts[dateStr] = (counts[dateStr] || 0) + 1;\n    }\n  });\n  return counts;\n}\n\n\n\nfunction countTrue_(sheet, col) {\n  if (!sheet || sheet.getLastRow() < 2) return 0;\n  const vals = sheet.getRange(2, col, sheet.getLastRow() - 1, 1).getValues().flat();\n  return vals.filter(v => v === true || v === 'TRUE').length;\n}\n\n\/**\n * Build a pivot for BRAND presence (latest run only).\n * For each surface (AIO \/ AI_MODE), we compute:\n *  - queries_with_surface: number of keywords where that surface triggered\n *  - queries_brand_cited: number of those keywords where brand domain appears in any citation\n *  - presence_rate = brand_cited \/ queries_with_surface\n *  - queries_brand_rank1: number where brand is rank 1 citation\n *  - rank1_rate = brand_rank1 \/ queries_with_surface\n *\/\nfunction buildBrandPresencePivotAndChart_() {\n  const ss = SpreadsheetApp.getActiveSpreadsheet();\n  const brands = readBrands_(ss); \/\/ array of domains (no www)\n\n  const aioSheet = ss.getSheetByName('AIO_Results');\n  const aimSheet = ss.getSheetByName('AI_Mode_Results');\n  const srcSheet = ss.getSheetByName('AI_Sources');\n\n  if (!brands.length || !srcSheet || srcSheet.getLastRow() < 2) {\n    ensureSheet_(ss, 'GEO_BrandPresence', ['brand_domain', 'surface', 'queries_with_surface', 'queries_brand_cited', 'presence_rate', 'queries_brand_rank1', 'rank1_rate']);\n    return;\n  }\n\n  \/\/ Determine latest run timestamp (max timestamp across results)\n  const latest = latestTimestamp_([aioSheet, aimSheet, srcSheet].filter(Boolean));\n  if (!latest) return;\n\n  \/\/ Build per-surface sets of keywords that triggered surface in the latest run\n  const latestAioKeywords = new Set(filterKeywordsByTimestampAndBool_(aioSheet, latest, 4)); \/\/ has_ai_overview\n  const latestAimKeywords = new Set(filterKeywordsByTimestampAndBool_(aimSheet, latest, 4)); \/\/ has_ai_mode\n\n  \/\/ Build maps for brand presence by keyword and rank1 by keyword (latest run only)\n  const surfaceBrandAny = { AIO: new Map(), AI_MODE: new Map() }; \/\/ brand -> Set(keywords)\n  const surfaceBrandRank1 = { AIO: new Map(), AI_MODE: new Map() }; \/\/ brand -> Set(keywords)\n\n  \/\/ Iterate source rows for latest timestamp only\n  const srcVals = srcSheet.getRange(2, 1, srcSheet.getLastRow() - 1, 9).getValues();\n  for (const row of srcVals) {\n    const [ts, kw, country, surface, rank, url, domain\/*clean*\/, title, site_name] = row;\n    if (!sameDay_(ts, latest)) continue; \/\/ group by day\/run timestamp granularity\n\n    const dom = String(domain || '').toLowerCase();\n    if (!dom) continue;\n\n    \/\/ For presence calculations, only consider keywords that triggered that surface\n    if (surface === 'AIO' && !latestAioKeywords.has(kw)) continue;\n    if (surface === 'AI_MODE' && !latestAimKeywords.has(kw)) continue;\n\n    \/\/ For each brand, check match\n    for (const b of brands) {\n      if (dom.endsWith(b)) {\n        \/\/ any-cited\n        if (!surfaceBrandAny[surface].has(b)) surfaceBrandAny[surface].set(b, new Set());\n        surfaceBrandAny[surface].get(b).add(kw);\n\n        \/\/ rank1\n        if (rank === 1) {\n          if (!surfaceBrandRank1[surface].has(b)) surfaceBrandRank1[surface].set(b, new Set());\n          surfaceBrandRank1[surface].get(b).add(kw);\n        }\n      }\n    }\n  }\n\n  \/\/ Prepare output rows\n  const out = [];\n  const surfaces = ['AIO', 'AI_MODE'];\n  for (const s of surfaces) {\n    const queriesWithSurface = (s === 'AIO') ? latestAioKeywords.size : latestAimKeywords.size;\n    for (const b of brands) {\n      const cited = surfaceBrandAny[s].get(b)?.size || 0;\n      const r1 = surfaceBrandRank1[s].get(b)?.size || 0;\n      const presenceRate = queriesWithSurface ? (cited \/ queriesWithSurface) : 0;\n      const rank1Rate = queriesWithSurface ? (r1 \/ queriesWithSurface) : 0;\n      out.push([\n        b, s, queriesWithSurface, cited, presenceRate, r1, rank1Rate\n      ]);\n    }\n  }\n\n  const pivot = ensureSheet_(ss, 'GEO_BrandPresence', ['brand_domain', 'surface', 'queries_with_surface', 'queries_brand_cited', 'presence_rate', 'queries_brand_rank1', 'rank1_rate']);\n  \/\/ Clear old data\n  if (pivot.getLastRow() > 1) pivot.getRange(2, 1, pivot.getLastRow() - 1, 7).clearContent();\n  if (out.length) pivot.getRange(2, 1, out.length, 7).setValues(out);\n\n  \/\/ Build\/refresh a chart for Rank-1 share per brand per surface\n  const charts = pivot.getCharts();\n  charts.forEach(c => pivot.removeChart(c));\n\n  \/\/ Simple approach: chart all rows, data has both surfaces; users can filter in Sheets UI.\n  const chart = pivot.newChart()\n    .setChartType(Charts.ChartType.COLUMN)\n    .addRange(pivot.getRange(1, 1, Math.max(2, pivot.getLastRow()), 7))\n    .setPosition(5, 1, 0, 0)\n    .setOption('title', 'Brand Rank-1 Share (latest run)')\n    .setOption('series', {\n      0: { targetAxisIndex: 0 }, \/\/ presence metrics\n      1: { targetAxisIndex: 0 },\n      2: { targetAxisIndex: 1 }  \/\/ rate on secondary axis if desired\n    })\n    .setOption('legend', { position: 'right' })\n    .build();\n  pivot.insertChart(chart);\n}\n\n\/* ---------- Pivot helpers ---------- *\/\n\nfunction readBrands_(ss) {\n  const sh = ss.getSheetByName('Brands');\n  if (!sh || sh.getLastRow() < 2) return [];\n  const vals = sh.getRange(2, 1, sh.getLastRow() - 1, 1).getValues().flat()\n    .map(String).map(v => v.trim().toLowerCase().replace(\/^www\\.\/, ''))\n    .filter(Boolean);\n  return Array.from(new Set(vals));\n}\n\nfunction latestTimestamp_(sheets) {\n  let latest = null;\n  for (const sh of sheets) {\n    if (!sh || sh.getLastRow() < 2) continue;\n    const tsCol = 1; \/\/ first col in our schemas\n    const vals = sh.getRange(2, tsCol, sh.getLastRow() - 1, 1).getValues().flat();\n    for (const v of vals) {\n      const d = (v instanceof Date) ? v : new Date(v);\n      if (!isNaN(+d)) {\n        if (!latest || d > latest) latest = d;\n      }\n    }\n  }\n  return latest;\n}\n\nfunction sameDay_(a, b) {\n  if (!(a instanceof Date)) a = new Date(a);\n  if (!(b instanceof Date)) b = new Date(b);\n  return a.getFullYear() === b.getFullYear() &&\n         a.getMonth() === b.getMonth() &&\n         a.getDate() === b.getDate();\n}\n\nfunction filterKeywordsByTimestampAndBool_(sheet, latestTs, boolColIndex) {\n  if (!sheet || sheet.getLastRow() < 2) return [];\n  const rows = sheet.getRange(2, 1, sheet.getLastRow() - 1, sheet.getLastColumn()).getValues();\n  const out = [];\n  for (const r of rows) {\n    const ts = r[0];\n    const kw = r[1];\n    const val = r[boolColIndex - 1];\n    if (sameDay_(ts, latestTs) && (val === true || val === 'TRUE')) out.push(kw);\n  }\n  return out;\n}\n\n<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38f55a2 elementor-widget elementor-widget-heading\" data-id=\"38f55a2\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">How this maps to FetchSERP\u2019s API\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0ebfd67 elementor-widget elementor-widget-text-editor\" data-id=\"0ebfd67\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">The script calls <\/span><span style=\"font-weight: 400; color: #339966;\">\/api\/v1\/serp_ai<\/span><span style=\"font-weight: 400;\"> first to get a combined snapshot of AI Overview and AI Mode when available. If you\u2019re in the US, it also calls <\/span><span style=\"font-weight: 400; color: #339966;\">\/api\/v1\/serp_ai_mode<\/span><span style=\"font-weight: 400;\"> for a faster, cached AI Mode result, which is preferred if both are present. In the payload, AI Overview is typically found under <\/span><span style=\"font-weight: 400; color: #339966;\">data.results.ai_overview<\/span><span style=\"font-weight: 400;\"> and AI Mode under <\/span><span style=\"font-weight: 400; color: #339966;\">data.results.ai_mode<\/span><span style=\"font-weight: 400;\">, each with an array of sources. These are parsed into a clean set of domains for pivoting.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0d122d5 elementor-widget elementor-widget-heading\" data-id=\"0d122d5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Reading and writing in Sheets without drama\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-17ae372 elementor-widget elementor-widget-text-editor\" data-id=\"17ae372\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Google Apps Script interacts with Sheets in simple ranges, so the script:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Validates the <\/span><span style=\"font-weight: 400; color: #339966;\">Keywords<\/span><span style=\"font-weight: 400;\"> tab format.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Creates <\/span><span style=\"font-weight: 400; color: #339966;\">AIO_Results<\/span><span style=\"font-weight: 400;\"> and <\/span><span style=\"font-weight: 400; color: #339966;\">AI_Mode_Results<\/span><span style=\"font-weight: 400;\"> if missing.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Appends a row per keyword per run, starting with a timestamp.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Includes columns for presence flags, source counts, top domain, and a pipe-separated list of all domains.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb9fe4f elementor-widget elementor-widget-text-editor\" data-id=\"cb9fe4f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Because results are <\/span><b>appended, not overwritten<\/b><span style=\"font-weight: 400;\">, you build a historical dataset automatically. This lets you chart trends like \u201c% of tracked keywords with AIO citations over time\u201d or \u201cTop cited domains in AI Mode by week.\u201d<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d70893c elementor-widget elementor-widget-heading\" data-id=\"d70893c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-default\">Practical Tips for Reliable GEO Tracking<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ebde5b elementor-widget elementor-widget-text-editor\" data-id=\"2ebde5b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Expect volatility<\/b><span style=\"font-weight: 400;\"> \u2014 AIO and AI Mode are probabilistic; the same query can yield different results across runs. That\u2019s why the timestamp column and repeated sampling are critical.<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Stay under rate limits<\/b><span style=\"font-weight: 400;\"> \u2014 If tracking hundreds of keywords, increase the <\/span><span style=\"font-weight: 400; color: #339966;\">Utilities.sleep(400)<\/span><span style=\"font-weight: 400;\"> back-off or split runs into batches.<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Track by region<\/b><span style=\"font-weight: 400;\"> \u2014 Always pass a consistent <\/span><span style=\"font-weight: 400; color: #339966;\">country<\/span><span style=\"font-weight: 400;\"> code if you want clean, region-specific data.<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Go beyond domains<\/b><span style=\"font-weight: 400;\"> \u2014 If you want full URLs, titles, and publisher names, adjust the <\/span><span style=\"font-weight: 400; color: #339966;\">extractSources_()<\/span><span style=\"font-weight: 400;\"> function to store richer data.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-56fe539 elementor-widget elementor-widget-text-editor\" data-id=\"56fe539\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">While SaaS solutions will be more robust, there are many use cases that may require you to do your own tracking. This approach with FetchSERP can support many of the individual optimization scripts that you develop.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e36a8a0 elementor-widget elementor-widget-heading\" data-id=\"e36a8a0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Perplexity and CoPilot Tracking Methods<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38705ba elementor-widget elementor-widget-text-editor\" data-id=\"38705ba\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Tracking citations on Perplexity AI is more straightforward in one sense: the platform prioritizes transparency, surfacing citations inline as the answer loads. Your detection agents can parse these inline references almost immediately. The complication is that Perplexity aggressively rewrites queries behind the scenes, so the retrieval query that actually pulled in your content may differ significantly from the one you entered. Capturing the platform\u2019s reformulated queries alongside the output is crucial for diagnosing why you were or weren\u2019t cited.<\/span><\/p><p><span style=\"font-weight: 400;\">You can apply similar scraping techniques to what FetchSERP is doing. The following is a list of CSS selectors for scraping the components.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-63c82ff elementor-widget elementor-widget-heading\" data-id=\"63c82ff\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Copy (answer text)\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-03d53fe elementor-widget elementor-widget-text-editor\" data-id=\"03d53fe\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li><b>Answer region:<\/b><b><br \/><\/b><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400; color: #339966;\">main [data-testid=&#8221;answer&#8221;], main article, main .prose<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Fallback: <span style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; color: #339966;\">main [class*=&#8221;prose&#8221;], main [class*=&#8221;markdown&#8221;]<\/span><\/span><\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d890dff elementor-widget elementor-widget-heading\" data-id=\"d890dff\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Citations<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-73f575e elementor-widget elementor-widget-text-editor\" data-id=\"73f575e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Prominent sources list:<\/b><b><br \/><\/b><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400; color: #339966;\">aside [data-testid=&#8221;source&#8221;], [data-testid=&#8221;sources&#8221;] a[href]<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400; color: #339966;\">nav[aria-label*=&#8221;Sources&#8221;] a[href]<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><\/ul><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Inline citations:<\/b><b><br \/><\/b><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">In the answer: <\/span><span style=\"font-weight: 400; color: #339966;\">sup a[href], a[data-source-id]<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><\/ul><\/li><\/ul><p style=\"padding-left: 40px;\"><span style=\"font-weight: 400;\"><strong>Bonus:<\/strong> Perplexity often renders a <\/span><b>JSON state<\/b><span style=\"font-weight: 400;\"> in <\/span><span style=\"font-weight: 400; color: #339966;\">script[type=&#8221;application\/json&#8221;]<\/span><span style=\"font-weight: 400;\"> (or via a <\/span><span style=\"font-weight: 400; color: #339966;\">window.__\u2026<\/span><span style=\"font-weight: 400;\"> hydration object). If you see it, parse it for a stable list of sources with titles, authors, and URLs rather than relying on DOM scraping.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-689aa37 elementor-widget elementor-widget-text-editor\" data-id=\"689aa37\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">Bing CoPilot introduces a different dynamic. Since CoPilot pulls from Bing\u2019s index and ranking systems, your eligibility for generative citations is heavily dependent on your Bing SEO performance. CoPilot often places citations toward the end of its responses, which makes them less prominent and potentially less likely to be clicked. For monitoring, you need to capture the generative block in its entirety and parse it for linked domains. By comparing those results with traditional Bing rankings for the same query, you can spot patterns. For example, whether top-ranking Bing results are more likely to be cited or whether certain authority signals override ranking position in CoPilot\u2019s retrieval.<\/span><\/p><p><span style=\"font-weight: 400;\">Here are the CSS selectors for Bing CoPilot:<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-51b20b8 elementor-widget elementor-widget-heading\" data-id=\"51b20b8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Copy (answer text)\n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dee0166 elementor-widget elementor-widget-text-editor\" data-id=\"dee0166\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Main chat text block (SERP Copilot):<\/b><b><br \/><\/b><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"color: #339966;\"><span style=\"font-weight: 400;\">#b_sydConvCont<\/span><span style=\"font-weight: 400; color: #000000;\"> then <\/span><span style=\"font-weight: 400;\">.cib-serp-main .ac-textBlock, .cib-serp-main .content<\/span><\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><\/ul><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Generic, resilient:<\/b><b><br \/><\/b><ul><li><span style=\"font-weight: 400; color: #339966;\">page.locator(&#8216;[aria-live=&#8221;polite&#8221;], [role=&#8221;dialog&#8221;]&#8217;).locator(&#8216;[data-content], .ac-textBlock, p&#8217;)<\/span><\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-33fba62 elementor-widget elementor-widget-heading\" data-id=\"33fba62\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Citations<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f77bf0c elementor-widget elementor-widget-text-editor\" data-id=\"f77bf0c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Inline footnotes \/ numbered links:<\/b><b><br \/><\/b><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Within the current assistant turn: <\/span><span style=\"font-weight: 400; color: #339966;\">.source a[href], sup a[href]<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><\/ul><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>\u201cSources\u201d list at end of turn:<\/b><b><br \/><\/b><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400; color: #339966;\">.attributions a, .source-card a, [data-attr=&#8221;source&#8221;] a<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><\/ul><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Resilient role approach:<\/b><b><br \/><\/b><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Get the <\/span><b>last assistant turn<\/b><span style=\"font-weight: 400;\"> container (often <\/span><span style=\"font-weight: 400; color: #339966;\">article<\/span><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400; color: #339966;\">div[role=&#8221;article&#8221;]<\/span><span style=\"font-weight: 400;\">, or a turn with <\/span><span style=\"font-weight: 400; color: #339966;\">data-author=&#8221;bot&#8221;<\/span><span style=\"font-weight: 400;\">), then <\/span><span style=\"font-weight: 400; color: #339966;\">getByRole(&#8216;link&#8217;)<\/span><span style=\"font-weight: 400;\"> inside it and filter by hostname not equal to <\/span><span style=\"font-weight: 400; color: #339966;\">bing.com<\/span><span style=\"font-weight: 400;\">.<\/span><\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-99e47aa elementor-widget elementor-widget-heading\" data-id=\"99e47aa\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Building the AIO &amp; AI Mode Visibility Dashboard<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e6e717b elementor-widget elementor-widget-text-editor\" data-id=\"e6e717b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">The output of all this work is a <\/span><b>centralized dashboard<\/b><span style=\"font-weight: 400;\"> that consolidates your active monitoring data and passive log data into a single, query-driven view of AI search visibility. This is where you translate raw detection into strategic insight.<\/span><\/p><p><span style=\"font-weight: 400;\">A well-constructed dashboard doesn\u2019t just tell you whether you\u2019re cited, it contextualizes the citation. For each query, you should see whether the AI panel was triggered at all, which platform(s) cited you, how prominently you were cited, how often you\u2019ve been cited over the last 30 days, and whether those appearances correspond with spikes in AI bot crawling. Over time, you can layer in correlations with conversion events or other performance KPIs, creating a cause-and-effect view that was impossible in early GEO measurement.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-302a362 elementor-widget elementor-widget-heading\" data-id=\"302a362\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">What This Dashboard Shows<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-71fe479 elementor-widget elementor-widget-text-editor\" data-id=\"71fe479\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">The dashboard\u2019s purpose is to give you a <\/span><b>time-series view<\/b><span style=\"font-weight: 400;\"> of how often your tracked keywords trigger:<\/span><\/p><ol><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Google AI Overviews (AIO)<\/b><span style=\"font-weight: 400;\"> \u2014 whether your content (or competitors\u2019 content) appears in the AI-generated summary box.<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Google AI Mode<\/b><span style=\"font-weight: 400;\"> \u2014 the separate \u201cAI\u201d tab in Google Search that often contains longer, multi-sourced responses.<\/span><\/li><\/ol><p><span style=\"font-weight: 400;\">It combines:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Daily Counts<\/b><span style=\"font-weight: 400;\"> \u2014 How many of your tracked keywords triggered AIO or AI Mode each day.<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Share of Voice (SOV)<\/b><span style=\"font-weight: 400;\"> \u2014 The percentage of your tracked keywords triggering each feature per day.<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>7-Day Rolling Averages<\/b><span style=\"font-weight: 400;\"> \u2014 Smoothed versions of the above to reveal the real trend without daily volatility.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2682060 elementor-widget elementor-widget-heading\" data-id=\"2682060\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Sheets You\u2019ll Have<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-155cf3b elementor-widget elementor-widget-text-editor\" data-id=\"155cf3b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">After your first script run, your spreadsheet will contain:<\/span><\/p><ol><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Keywords<\/b><span style=\"font-weight: 400;\"> \u2014 Your keyword list (column <\/span><span style=\"font-weight: 400; color: #339966;\">A<\/span><span style=\"font-weight: 400;\"> header = <\/span><span style=\"font-weight: 400; color: #339966;\">keyword<\/span><span style=\"font-weight: 400;\">).<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>AIO_Results<\/b><span style=\"font-weight: 400;\"> \u2014 Every keyword\u2019s daily AIO presence and source citations.<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>AI_Mode_Results<\/b><span style=\"font-weight: 400;\"> \u2014 Every keyword\u2019s daily AI Mode presence and source citations.<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>GEO_AISummary<\/b><span style=\"font-weight: 400;\"> \u2014 The summary table created by <\/span><span style=\"font-weight: 400; color: #339966;\">buildSummaryAndChart_()<\/span><span style=\"font-weight: 400;\"> that aggregates counts and SOV over time.<\/span><\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5331723 elementor-widget elementor-widget-heading\" data-id=\"5331723\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Summary Table Columns<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1de02f9 elementor-widget elementor-widget-text-editor\" data-id=\"1de02f9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">In <\/span><span style=\"font-weight: 400;\">GEO_AISummary<\/span><span style=\"font-weight: 400;\">, the script writes:<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ea4bb9 elementor-widget elementor-widget-text-editor\" data-id=\"7ea4bb9\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\u00a0<\/p><table><tbody><tr><td><p><b>Column<\/b><\/p><\/td><td><p><b>Name<\/b><\/p><\/td><td><p><b>Description<\/b><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">A<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">date<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Calendar date of the run (from timestamp).<\/span><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">B<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">AIO_count<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Number of keywords triggering AIO that day.<\/span><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">C<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">AIO_share_of_voice<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">AIO_count \u00f7 keywords_tracked.<\/span><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">D<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">AI_Mode_count<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Number of keywords triggering AI Mode that day.<\/span><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">E<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">AI_Mode_share_of_voice<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">AI_Mode_count \u00f7 keywords_tracked.<\/span><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">F<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">keywords_tracked<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">Total keywords in your tracking list.<\/span><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">G<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">AIO_count_7dma<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">7-day rolling average of AIO_count.<\/span><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">H<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">AI_Mode_count_7dma<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">7-day rolling average of AI_Mode_count.<\/span><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">I<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">AIO_sov_7dma<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">7-day rolling average of AIO SOV.<\/span><\/p><\/td><\/tr><tr><td><p><span style=\"font-weight: 400;\">J<\/span><\/p><\/td><td><p><span style=\"font-weight: 400; color: #339966;\">AI_Mode_sov_7dma<\/span><\/p><\/td><td><p><span style=\"font-weight: 400;\">7-day rolling average of AI Mode SOV.<\/span><\/p><\/td><\/tr><\/tbody><\/table>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-577c7b8 elementor-widget elementor-widget-heading\" data-id=\"577c7b8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Building the Dashboard in Google Sheets<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ae7fd3a elementor-widget elementor-widget-text-editor\" data-id=\"ae7fd3a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">While the script already generates a chart, building your own manually gives you more control.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-db29eb7 elementor-widget elementor-widget-heading\" data-id=\"db29eb7\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Step 1 \u2014 Prepare the Data<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e9197e5 elementor-widget elementor-widget-text-editor\" data-id=\"e9197e5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Go to the <\/span><b>GEO_AISummary<\/b><span style=\"font-weight: 400;\"> tab.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Ensure your columns are properly named as above.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\">Sort by <span style=\"font-weight: 400; color: #339966;\">date<\/span><span style=\"font-weight: 400;\"> (oldest to newest) to ensure the chart reads chronologically.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c16702a elementor-widget elementor-widget-heading\" data-id=\"c16702a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Step 2 \u2014 Create the Daily Counts Chart<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-43fa256 elementor-widget elementor-widget-text-editor\" data-id=\"43fa256\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ol><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Highlight columns <\/span><b>A, B, D<\/b><span style=\"font-weight: 400;\"> (date, AIO_count, AI_Mode_count).<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Go to <\/span><b>Insert \u2192 Chart<\/b><span style=\"font-weight: 400;\">.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Set <\/span><b>Chart Type<\/b><span style=\"font-weight: 400;\"> to <\/span><b>Line chart<\/b><span style=\"font-weight: 400;\"> or <\/span><b>Column chart<\/b><span style=\"font-weight: 400;\">.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Label:<\/span><span style=\"font-weight: 400;\"><br \/><\/span><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">X-axis = <\/span><span style=\"font-weight: 400; color: #339966;\">date<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Series 1 = AIO_count<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"2\"><span style=\"font-weight: 400;\">Series 2 = AI_Mode_count<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><\/ul><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Title it <\/span><b>&#8220;Daily AIO &amp; AI Mode Keyword Triggers&#8221;<\/b><\/li><\/ol>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-586497e elementor-widget elementor-widget-heading\" data-id=\"586497e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Step 3 \u2014 Create the SOV Trend Chart<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8f231f4 elementor-widget elementor-widget-text-editor\" data-id=\"8f231f4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ol><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Highlight columns <\/span><b>A, C, E, I, J<\/b><span style=\"font-weight: 400;\"> (date, AIO_SOV, AI_Mode_SOV, AIO_sov_7dma, AI_Mode_sov_7dma).<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Go to <\/span><b>Insert \u2192 Chart<\/b><span style=\"font-weight: 400;\">.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Set <\/span><b>Chart Type<\/b><span style=\"font-weight: 400;\"> to <\/span><b>Line chart<\/b><span style=\"font-weight: 400;\">.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Assign:<\/span><span style=\"font-weight: 400;\"><br \/><\/span><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><b>Axis 0<\/b><span style=\"font-weight: 400;\"> (left) = 7-day smoothed SOV percentages (I, J).<\/span><span style=\"font-weight: 400;\"><br \/><\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"2\"><b>Axis 1<\/b><span style=\"font-weight: 400;\"> (optional right axis) = raw daily SOV (C, E) if you want to compare volatility.<\/span><\/li><\/ul><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Title it <\/span><b>&#8220;Share of Voice: Daily vs Smoothed (7-day)&#8221;<\/b><\/li><\/ol><p><span style=\"font-weight: 400;\">Format <\/span><b>SOV values<\/b><span style=\"font-weight: 400;\"> as <\/span><b>percentages<\/b><span style=\"font-weight: 400;\"> in the Data tab.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cc81929 elementor-widget elementor-widget-heading\" data-id=\"cc81929\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Step 4 \u2014 Combine in a Dashboard Layout<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-86a066e elementor-widget elementor-widget-text-editor\" data-id=\"86a066e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Create a <\/span><b>Dashboard<\/b><span style=\"font-weight: 400;\"> tab in your spreadsheet.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Use <\/span><b>Insert \u2192 Chart<\/b><span style=\"font-weight: 400;\"> and select <\/span><b>\u201cFrom Sheets\u201d<\/b><span style=\"font-weight: 400;\"> to pull in both charts you just made.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Add a header section summarizing:<\/span><ul><li style=\"font-weight: 400;\" aria-level=\"2\"><b>Today\u2019s counts &amp; SOV<\/b><\/li><li style=\"font-weight: 400;\" aria-level=\"2\"><b>7-day change<\/b><span style=\"font-weight: 400;\"> (use simple formulas comparing today\u2019s 7dma to the previous week\u2019s value).<\/span><\/li><\/ul><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f7f0e42 elementor-widget elementor-widget-heading\" data-id=\"f7f0e42\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Step 5 \u2014 Track Over Time<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f5bf77 elementor-widget elementor-widget-text-editor\" data-id=\"7f5bf77\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Run the script <\/span><b>daily<\/b><span style=\"font-weight: 400;\"> (or multiple times per day if you want intra-day volatility \u2014 just keep the timestamps).<\/span><\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The summary will <\/span><b>append<\/b><span style=\"font-weight: 400;\"> rather than overwrite, creating a historical log.<\/span><\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Over weeks, you\u2019ll see:<\/span>\n<ul>\n \t<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Seasonal \/ algorithm update shifts<\/b><\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"2\"><b>Changes from your optimization efforts<\/b><\/li>\n \t<li style=\"font-weight: 400;\" aria-level=\"2\"><b >Competitor entry\/exit in AIOs and AI Mode<\/b><\/li>\n<\/ul>\n<\/li>\n<\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-10608cd elementor-widget elementor-widget-heading\" data-id=\"10608cd\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Why This Matters<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe68426 elementor-widget elementor-widget-text-editor\" data-id=\"fe68426\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">By tracking both raw counts and smoothed SOV:<\/span><\/p><ul><li style=\"font-weight: 400;\" aria-level=\"1\"><b>Raw counts<\/b><span style=\"font-weight: 400;\"> tell you the <\/span><i><span style=\"font-weight: 400;\">immediate pulse<\/span><\/i><span style=\"font-weight: 400;\"> of your visibility.<\/span><\/li><li style=\"font-weight: 400;\" aria-level=\"1\"><b>SOV smoothed over 7 days<\/b><span style=\"font-weight: 400;\"> shows your <\/span><i><span style=\"font-weight: 400;\">true trend<\/span><\/i><span style=\"font-weight: 400;\">, eliminating noise from Google\u2019s probabilistic AI retrieval where results may differ day-to-day even for the same query.<\/span><\/li><\/ul>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d428a8b elementor-widget elementor-widget-text-editor\" data-id=\"d428a8b\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"font-weight: 400;\">This is essentially your <\/span><b>Generative Search Visibility Dashboard<\/b><span style=\"font-weight: 400;\">, and while you can automate everything, building it manually first makes it easier to experiment with new chart views and metrics before locking them into code.<\/span><\/p><p><span style=\"font-weight: 400;\">By the end of this process, you\u2019ve replaced the guesswork of \u201cI think we\u2019re showing up in AI answers\u201d with a quantified, defensible view of your generative search footprint. You can see exactly where you\u2019re gaining or losing ground, and more importantly, why. This level of measurement is the foundation for GEO strategy. Without it, you\u2019re optimizing in the dark.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-89cc8e3 e-con-full e-flex e-con e-child\" data-id=\"89cc8e3\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-e7fa25c e-con-full e-flex e-con e-child\" data-id=\"e7fa25c\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-1f6306e e-con-full e-flex e-con e-child\" data-id=\"1f6306e\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4bd21d6 elementor-widget elementor-widget-heading\" data-id=\"4bd21d6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">We don't offer SEO.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b4a0d9c elementor-widget elementor-widget-heading\" data-id=\"b4a0d9c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">We offer <br>Relevance <br>Engineering.<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a1a7c6b e-con-full e-flex e-con e-child\" data-id=\"a1a7c6b\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-98228d1 elementor-widget elementor-widget-text-editor\" data-id=\"98228d1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"0\" data-end=\"408\">If your brand isn\u2019t being retrieved, synthesized, and cited in AI Overviews, AI Mode, ChatGPT, or Perplexity, you\u2019re missing from the decisions that matter. Relevance Engineering structures content for clarity, optimizes for retrieval, and measures real impact. Content Resonance turns that visibility into lasting connection.<\/p><p data-start=\"0\" data-end=\"408\">Schedule a call with iPullRank to own the conversations that drive your market.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-807c337 elementor-widget elementor-widget-button\" data-id=\"807c337\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/ipullrank.com\/contact\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">LET'S TALK<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bdae114 e-con-full e-flex e-con e-child\" data-id=\"bdae114\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1446c65 elementor-widget elementor-widget-image\" data-id=\"1446c65\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"800\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/05\/Rank_Report_PopUp_Image_v2-1.png\" class=\"attachment-large size-large wp-image-18913\" alt=\"\" srcset=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/05\/Rank_Report_PopUp_Image_v2-1.png 1024w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/05\/Rank_Report_PopUp_Image_v2-1-300x300.png 300w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/05\/Rank_Report_PopUp_Image_v2-1-150x150.png 150w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/05\/Rank_Report_PopUp_Image_v2-1-768x768.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-dfd2167 e-flex e-con-boxed e-con e-parent\" data-id=\"dfd2167\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-041e677 e-con-full e-flex e-con e-child\" data-id=\"041e677\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-08249ae elementor-widget elementor-widget-heading\" data-id=\"08249ae\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">MORE CHAPTERS<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6100199 e-con-full e-flex e-con e-child\" data-id=\"6100199\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-060decd e-con-full e-flex e-con e-child\" data-id=\"060decd\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-b5b0b5a e-con-full e-flex e-con e-child\" data-id=\"b5b0b5a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9d9a7c5 elementor-widget elementor-widget-image\" data-id=\"9d9a7c5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ipullrank.com\/ai-search-manual\/measurement-geo\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"30\" height=\"30\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/Navigation-Right-1-Streamline-Ultimate.svg-3.svg\" class=\"attachment-large size-large wp-image-19490\" alt=\"\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b3b8af3 elementor-widget elementor-widget-text-editor\" data-id=\"b3b8af3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/measurement-geo\">Previous<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-386d0a2 e-con-full e-flex e-con e-child\" data-id=\"386d0a2\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ff8c02e elementor-widget elementor-widget-text-editor\" data-id=\"ff8c02e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/attribution\">Next<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-354185e elementor-widget elementor-widget-image\" data-id=\"354185e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ipullrank.com\/ai-search-manual\/attribution\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"30\" height=\"30\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/Navigation-Right-1-Streamline-Ultimate.svg-2.svg\" class=\"attachment-large size-large wp-image-19489\" alt=\"\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-16b9ea7 e-flex e-con-boxed e-con e-parent\" data-id=\"16b9ea7\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-c4a237d e-con-full e-flex e-con e-child\" data-id=\"c4a237d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3d71419 elementor-widget elementor-widget-heading\" data-id=\"3d71419\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Part I: The Paradigm Shift<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d58d8d elementor-widget elementor-widget-heading\" data-id=\"7d58d8d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 01<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6a82a8 elementor-widget elementor-widget-text-editor\" data-id=\"f6a82a8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/introduction\">Introduction: The Fall of the Blue Links and the Rise of GEO<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e9cf081 elementor-widget elementor-widget-heading\" data-id=\"e9cf081\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 02<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f2241d1 elementor-widget elementor-widget-text-editor\" data-id=\"f2241d1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/search-behavior\">User Behavior in the Generative Era: From Clicks to Conversations<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-86e3971 elementor-widget elementor-widget-heading\" data-id=\"86e3971\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 03<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-774283c elementor-widget elementor-widget-text-editor\" data-id=\"774283c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/search-intent\">From Keywords to Questions to Conversations \u2013 and Beyond to Intent Orchestration<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-733914a elementor-widget elementor-widget-heading\" data-id=\"733914a\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 04<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-de687e6 elementor-widget elementor-widget-text-editor\" data-id=\"de687e6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-landscape\">The New Gatekeepers and the GEO Landscape<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c932c0 elementor-widget elementor-widget-heading\" data-id=\"1c932c0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 05<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c291758 elementor-widget elementor-widget-text-editor\" data-id=\"c291758\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/google-advantage\">The Unassailable Advantage: Why Google is Poised to Win the Generative AI Race<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-601b525 elementor-widget elementor-widget-heading\" data-id=\"601b525\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Part II: Systems and Architecture<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-896c1f6 elementor-widget elementor-widget-heading\" data-id=\"896c1f6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 06<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-96a3b69 elementor-widget elementor-widget-text-editor\" data-id=\"96a3b69\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/ir-evolution\">The Evolution of Information Retrieval: From Lexical to Neural<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2d44041 elementor-widget elementor-widget-heading\" data-id=\"2d44041\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 07<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75c8b6d elementor-widget elementor-widget-text-editor\" data-id=\"75c8b6d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/search-architecture\">AI Search Architecture Deep Dive: Teardowns of Leading Platforms<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b447745 elementor-widget elementor-widget-heading\" data-id=\"b447745\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 08<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe4b41d elementor-widget elementor-widget-text-editor\" data-id=\"fe4b41d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/query-fan-out\">Query Fan-Out, Latent Intent, and Source Aggregation<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7f7a15e elementor-widget elementor-widget-heading\" data-id=\"7f7a15e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Part III: Visibility and Optimization \u2013 The GEO Playbook<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e79ed49 elementor-widget elementor-widget-heading\" data-id=\"e79ed49\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 09<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-062a485 elementor-widget elementor-widget-text-editor\" data-id=\"062a485\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo\">How to Appear in AI Search Results (The GEO Core)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e3e20c9 elementor-widget elementor-widget-heading\" data-id=\"e3e20c9\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 10<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4844bbd elementor-widget elementor-widget-text-editor\" data-id=\"4844bbd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/relevance-engineering\">Relevance Engineering in Practice (The GEO Art)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c6222b elementor-widget elementor-widget-heading\" data-id=\"6c6222b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 11<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-701b477 elementor-widget elementor-widget-text-editor\" data-id=\"701b477\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/content-strategy-geo\">Content Strategy for LLM-Centric Discovery (GEO Content Production)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e7aab72 e-con-full e-flex e-con e-child\" data-id=\"e7aab72\" data-element_type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-7058199 e-con-full e-flex e-con e-child\" data-id=\"7058199\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7fc406e elementor-widget elementor-widget-heading\" data-id=\"7fc406e\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Part IV: Measurement and Reverse Engineering for GEO<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6a10bec elementor-widget elementor-widget-heading\" data-id=\"6a10bec\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 12<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5b43069 elementor-widget elementor-widget-text-editor\" data-id=\"5b43069\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/measurement-geo\">The Measurement Chasm: Tracking GEO Performance<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c0d685 elementor-widget elementor-widget-heading\" data-id=\"1c0d685\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 13<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9cd057 elementor-widget elementor-widget-text-editor\" data-id=\"f9cd057\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/tracking\">Tracking AI Search Visibility (GEO Analytics)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2299418 elementor-widget elementor-widget-heading\" data-id=\"2299418\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 14<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7d04834 elementor-widget elementor-widget-text-editor\" data-id=\"7d04834\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/attribution\">Query and Entity Attribution for GEO<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a3648df elementor-widget elementor-widget-heading\" data-id=\"a3648df\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 15<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1b96d18 elementor-widget elementor-widget-text-editor\" data-id=\"1b96d18\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/simulation\">Simulating the System for GEO Insights<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-383018c elementor-widget elementor-widget-heading\" data-id=\"383018c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Part V: Organizational Strategy for the GEO Era<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a672397 elementor-widget elementor-widget-heading\" data-id=\"a672397\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 16<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a91e146 elementor-widget elementor-widget-text-editor\" data-id=\"a91e146\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-team\">Redefining Your SEO Team to a GEO Team<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3f126c6 elementor-widget elementor-widget-heading\" data-id=\"3f126c6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 17<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3fd5035 elementor-widget elementor-widget-text-editor\" data-id=\"3fd5035\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-agency\">Agency and Vendor Selection for GEO Success<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6ee0b09 elementor-widget elementor-widget-heading\" data-id=\"6ee0b09\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Part VI: Risk, Ethics, and the Future of GEO<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c7e5ff5 elementor-widget elementor-widget-heading\" data-id=\"c7e5ff5\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 18<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4c290dc elementor-widget elementor-widget-text-editor\" data-id=\"4c290dc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-challenge\">The Content Collapse and AI Slop \u2013 A GEO Challenge<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5362a3b elementor-widget elementor-widget-heading\" data-id=\"5362a3b\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 19<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b45a055 elementor-widget elementor-widget-text-editor\" data-id=\"b45a055\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-ethics\">Trust, Truth, and the Invisible Algorithm \u2013 GEO&#8217;s Ethical Imperative<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fc8c703 elementor-widget elementor-widget-heading\" data-id=\"fc8c703\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bb Chapter 20<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8792139 elementor-widget elementor-widget-text-editor\" data-id=\"8792139\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/geo-future\">The Future of AI-First Discovery and Advanced GEO<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-417b7a7 e-flex e-con-boxed e-con e-parent\" data-id=\"417b7a7\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4af3d64 appendices elementor-widget elementor-widget-heading\" data-id=\"4af3d64\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">APPENDICES<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c127856 elementor-widget elementor-widget-text-editor\" data-id=\"c127856\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"115\" data-end=\"422\">The appendix includes everything you need to operationalize the ideas in this manual, downloadable tools, reporting templates, and prompt recipes for GEO testing. You\u2019ll also find a glossary that breaks down technical terms and concepts to keep your team aligned. Use this section as your implementation hub.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2c9c042 elementor-arrows-position-outside elementor-pagination-type-bullets elementor-pagination-position-outside elementor-widget elementor-widget-n-carousel\" data-id=\"2c9c042\" data-element_type=\"widget\" data-settings=\"{&quot;carousel_items&quot;:[{&quot;slide_title&quot;:&quot;Slide #1&quot;,&quot;_id&quot;:&quot;56174e0&quot;},{&quot;slide_title&quot;:&quot;Slide #2&quot;,&quot;_id&quot;:&quot;117d764&quot;},{&quot;slide_title&quot;:&quot;Slide #3&quot;,&quot;_id&quot;:&quot;1b0e4ab&quot;},{&quot;_id&quot;:&quot;44d21a0&quot;,&quot;slide_title&quot;:&quot;Slide #4&quot;},{&quot;slide_title&quot;:&quot;Slide #4&quot;,&quot;_id&quot;:&quot;bf83529&quot;}],&quot;image_spacing_custom&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;slides_to_show_tablet&quot;:&quot;2&quot;,&quot;slides_to_show_mobile&quot;:&quot;1&quot;,&quot;speed&quot;:500,&quot;arrows&quot;:&quot;yes&quot;,&quot;pagination&quot;:&quot;bullets&quot;,&quot;image_spacing_custom_widescreen&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_laptop&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_tablet_extra&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_mobile_extra&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;image_spacing_custom_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"nested-carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"e-n-carousel swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Carousel\" dir=\"ltr\">\n\t\t\t<div class=\"swiper-wrapper\" aria-live=\"polite\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" data-slide=\"1\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"1 of 5\">\n\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0b75a86 e-flex e-con-boxed e-con e-child\" data-id=\"0b75a86\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-034e51a e-con-full e-flex e-con e-child\" data-id=\"034e51a\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-085f6d1 elementor-widget elementor-widget-image\" data-id=\"085f6d1\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ipullrank.com\/ai-search-manual\/glossary\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"439\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-glossary.png\" class=\"attachment-large size-large wp-image-19555\" alt=\"\" srcset=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-glossary.png 954w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-glossary-300x165.png 300w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-glossary-768x422.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ffcc0d elementor-widget elementor-widget-text-editor\" data-id=\"8ffcc0d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/glossary\" data-wplink-edit=\"true\"><span style=\"white-space-collapse: preserve;\">Glossary of Modern Search and GEO Terms<\/span><\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" data-slide=\"2\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"2 of 5\">\n\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-315d462 e-flex e-con-boxed e-con e-child\" data-id=\"315d462\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-fa53f9d e-con-full e-flex e-con e-child\" data-id=\"fa53f9d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5355232 elementor-widget elementor-widget-image\" data-id=\"5355232\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ipullrank.com\/ai-search-manual\/ai-tools-directory\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"443\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-tools.png\" class=\"attachment-large size-large wp-image-19556\" alt=\"\" srcset=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-tools.png 954w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-tools-300x166.png 300w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-tools-768x425.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f337dd5 elementor-widget elementor-widget-text-editor\" data-id=\"f337dd5\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/ai-tools-directory\">The AI Infrastructure Tool Index<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" data-slide=\"3\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"3 of 5\">\n\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-67c6c8b e-flex e-con-boxed e-con e-child\" data-id=\"67c6c8b\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-341d95d e-con-full e-flex e-con e-child\" data-id=\"341d95d\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b98ae80 elementor-widget elementor-widget-image\" data-id=\"b98ae80\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ipullrank.com\/ai-search-manual\/measurement-template\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"443\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-prompts.png\" class=\"attachment-large size-large wp-image-19557\" alt=\"\" srcset=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-prompts.png 954w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-prompts-300x166.png 300w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-prompts-768x425.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2ef0cb4 elementor-widget elementor-widget-text-editor\" data-id=\"2ef0cb4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/measurement-template\">Prompt Recipes for Retrieval Simulation (GEO Testing)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" data-slide=\"4\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"4 of 5\">\n\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-4dd0263 e-flex e-con-boxed e-con e-child\" data-id=\"4dd0263\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-d243e64 e-con-full e-flex e-con e-child\" data-id=\"d243e64\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d8f7036 elementor-widget elementor-widget-image\" data-id=\"d8f7036\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ipullrank.com\/ai-search-manual\/prompt-recipes\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"439\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-measurement.png\" class=\"attachment-large size-large wp-image-19558\" alt=\"\" srcset=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-measurement.png 954w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-measurement-300x165.png 300w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-measurement-768x422.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9f7d7b2 elementor-widget elementor-widget-text-editor\" data-id=\"9f7d7b2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/prompt-recipes\">Measurement Frameworks and Templates (GEO Reporting)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" data-slide=\"5\" role=\"group\" aria-roledescription=\"slide\" aria-label=\"5 of 5\">\n\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-c7cc0a7 e-flex e-con-boxed e-con e-child\" data-id=\"c7cc0a7\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-a97faa5 e-con-full e-flex e-con e-child\" data-id=\"a97faa5\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c829714 elementor-widget elementor-widget-image\" data-id=\"c829714\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/ipullrank.com\/ai-search-manual\/citation-tracker\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"439\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-citations.png\" class=\"attachment-large size-large wp-image-19559\" alt=\"\" srcset=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-citations.png 954w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-citations-300x165.png 300w, https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/ai-search-citations-768x422.png 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a5855d8 elementor-widget elementor-widget-text-editor\" data-id=\"a5855d8\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/ipullrank.com\/ai-search-manual\/citation-tracker\">Citation Tracker Spreadsheet (GEO Monitoring)<\/a><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-prev\" role=\"button\" tabindex=\"0\" aria-label=\"Previous\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\"><rect width=\"48\" height=\"48\" transform=\"matrix(-1 0 0 1 48 0)\" fill=\"#151618\"><\/rect><path d=\"M23.9983 37.7748L15.3645 25.3678C15.0852 24.9663 14.9355 24.489 14.9355 23.9999C14.9355 23.5109 15.0852 23.0335 15.3645 22.632L23.9983 10.2251\" stroke=\"#FADD23\" stroke-width=\"1.2525\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><path d=\"M32.3841 37.7748C33.0429 37.7748 33.2741 37.3328 32.8968 36.7914L24.6834 24.9833C24.4991 24.6885 24.4013 24.3477 24.4013 23.9999C24.4013 23.6522 24.4991 23.3114 24.6834 23.0165L32.8944 11.2085C33.2717 10.6671 33.0405 10.2251 32.3841 10.2251L30.5874 10.2251C30.2217 10.2459 29.8646 10.3444 29.54 10.5139C29.2153 10.6835 28.9305 10.9203 28.7044 11.2085L20.491 23.0165C20.3067 23.3114 20.209 23.6522 20.209 23.9999C20.209 24.3477 20.3067 24.6885 20.491 24.9833L28.7044 36.7914C28.9305 37.0796 29.2153 37.3164 29.54 37.486C29.8646 37.6555 30.2217 37.754 30.5874 37.7748L32.3841 37.7748Z\" fill=\"#6F6F6F\"><\/path><path d=\"M20.2093 23.9999C20.203 23.6512 20.3015 23.3087 20.4919 23.0165L28.7065 11.2085C28.9325 10.9199 29.2175 10.683 29.5424 10.5134C29.8674 10.3438 30.2248 10.2455 30.5907 10.2251L32.3874 10.2251C33.0462 10.2251 33.2774 10.6671 32.9013 11.2085L24.6867 23.0165C24.4954 23.3084 24.3961 23.651 24.4016 23.9999L20.2093 23.9999Z\" fill=\"#FADD23\"><\/path><path d=\"M32.3841 37.7748C33.0429 37.7748 33.2741 37.3328 32.8968 36.7914L24.6834 24.9833C24.4991 24.6885 24.4013 24.3477 24.4013 23.9999C24.4013 23.6522 24.4991 23.3114 24.6834 23.0165L32.8944 11.2085C33.2717 10.6671 33.0405 10.2251 32.3841 10.2251L30.5874 10.2251C30.2217 10.2459 29.8646 10.3444 29.54 10.5139C29.2153 10.6835 28.9305 10.9203 28.7044 11.2085L20.491 23.0165C20.3067 23.3114 20.209 23.6522 20.209 23.9999C20.209 24.3477 20.3067 24.6885 20.491 24.9833L28.7044 36.7914C28.9305 37.0796 29.2153 37.3164 29.54 37.486C29.8646 37.6555 30.2217 37.754 30.5874 37.7748L32.3841 37.7748Z\" stroke=\"#FADD23\" stroke-width=\"1.2525\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>\t\t\t<\/div>\n\t\t\t<div class=\"elementor-swiper-button elementor-swiper-button-next\" role=\"button\" tabindex=\"0\" aria-label=\"Next\">\n\t\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\"><rect width=\"48\" height=\"48\" fill=\"#151618\"><\/rect><path d=\"M24.0017 37.7748L32.6355 25.3678C32.9148 24.9663 33.0645 24.489 33.0645 23.9999C33.0645 23.5109 32.9148 23.0335 32.6355 22.632L24.0017 10.2251\" stroke=\"#FADD23\" stroke-width=\"1.2525\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><path d=\"M15.6159 37.7748C14.9571 37.7748 14.7259 37.3328 15.1032 36.7914L23.3166 24.9833C23.5009 24.6885 23.5987 24.3477 23.5987 23.9999C23.5987 23.6522 23.5009 23.3114 23.3166 23.0165L15.1056 11.2085C14.7283 10.6671 14.9595 10.2251 15.6159 10.2251L17.4126 10.2251C17.7783 10.2459 18.1354 10.3444 18.46 10.5139C18.7847 10.6835 19.0695 10.9203 19.2956 11.2085L27.509 23.0165C27.6933 23.3114 27.791 23.6522 27.791 23.9999C27.791 24.3477 27.6933 24.6885 27.509 24.9833L19.2956 36.7914C19.0695 37.0796 18.7847 37.3164 18.46 37.486C18.1354 37.6555 17.7783 37.754 17.4126 37.7748L15.6159 37.7748Z\" fill=\"#6F6F6F\"><\/path><path d=\"M27.7907 23.9999C27.797 23.6512 27.6985 23.3087 27.5081 23.0165L19.2935 11.2085C19.0675 10.9199 18.7825 10.683 18.4576 10.5134C18.1326 10.3438 17.7752 10.2455 17.4093 10.2251L15.6126 10.2251C14.9538 10.2251 14.7226 10.6671 15.0987 11.2085L23.3133 23.0165C23.5046 23.3084 23.6039 23.651 23.5984 23.9999L27.7907 23.9999Z\" fill=\"#FADD23\"><\/path><path d=\"M15.6159 37.7748C14.9571 37.7748 14.7259 37.3328 15.1032 36.7914L23.3166 24.9833C23.5009 24.6885 23.5987 24.3477 23.5987 23.9999C23.5987 23.6522 23.5009 23.3114 23.3166 23.0165L15.1056 11.2085C14.7283 10.6671 14.9595 10.2251 15.6159 10.2251L17.4126 10.2251C17.7783 10.2459 18.1354 10.3444 18.46 10.5139C18.7847 10.6835 19.0695 10.9203 19.2956 11.2085L27.509 23.0165C27.6933 23.3114 27.791 23.6522 27.791 23.9999C27.791 24.3477 27.6933 24.6885 27.509 24.9833L19.2956 36.7914C19.0695 37.0796 18.7847 37.3164 18.46 37.486C18.1354 37.6555 17.7783 37.754 17.4126 37.7748L15.6159 37.7748Z\" stroke=\"#FADD23\" stroke-width=\"1.2525\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>\t\t\t<\/div>\n\t\t\t\t\t<div class=\"swiper-pagination\"><\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7f7d67b e-flex e-con-boxed e-con e-parent\" data-id=\"7f7d67b\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-cd67edd e-con-full e-flex e-con e-child\" data-id=\"cd67edd\" data-element_type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;gradient&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5be457d elementor-widget elementor-widget-text-editor\" data-id=\"5be457d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>\/\/.eBook<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec0330f elementor-widget elementor-widget-heading\" data-id=\"ec0330f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">The AI Search Manual<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-95dea44 elementor-widget elementor-widget-image\" data-id=\"95dea44\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"207\" height=\"133\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/visualelectric-1754027631611_Cutout-2.png\" class=\"attachment-large size-large wp-image-19507\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc29bb4 elementor-widget elementor-widget-text-editor\" data-id=\"dc29bb4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>The AI Search Manual is your operating manual for being seen in the next iteration of Organic Search where answers are generated, not linked.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-b0c8f7f e-con-full e-flex e-con e-child\" data-id=\"b0c8f7f\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-4271c25 e-con-full e-flex e-con e-child\" data-id=\"4271c25\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8ee178f elementor-widget elementor-widget-heading\" data-id=\"8ee178f\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Want digital delivery? Get the AI Search Manual in Your Inbox<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a80a329 elementor-widget elementor-widget-text-editor\" data-id=\"a80a329\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-start=\"70\" data-end=\"285\">Prefer to read in chunks? We\u2019ll send the AI Search Manual as an email series\u2014complete with extra commentary, fresh examples, and early access to new tools. Stay sharp and stay ahead, one email at a time.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cb80efe elementor-widget elementor-widget-image\" data-id=\"cb80efe\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"236\" height=\"38\" src=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/As-Seen-In-Module-Decor-1.svg\" class=\"attachment-large size-large wp-image-19508\" alt=\"\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-180c84f elementor-widget elementor-widget-button\" data-id=\"180c84f\" data-element_type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"#elementor-action%3Aaction%3Dpopup%3Aopen%26settings%3DeyJpZCI6IjE5NTEzIiwidG9nZ2xlIjpmYWxzZX0%3D\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Get the Emails<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>The AI Search Manual CHAPTER 13 Tracking AI Search Visibility (GEO Analytics) Chapters Ch. 01: Introduction Ch. 02: User Behavior in the Generative Era Ch. 03: From Keywords to Questions to Conversations Ch. 04: The New Gatekeepers and the GEO Landscape Ch. 05: The Unassailable Advantage of Google Ch. 06: The Evolution of Information Retrieval [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":19589,"parent":19509,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"page-tag":[264],"class_list":["post-19588","page","type-page","status-publish","has-post-thumbnail","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tracking AI Search Visibility (GEO Analytics)<\/title>\n<meta name=\"description\" content=\"A guide to tracking AI Search performance, measuring generative visibility, and finding opportunities to boost brand presence.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ipullrank.com\/ai-search-manual\/tracking\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tracking AI Search Visibility (GEO Analytics)\" \/>\n<meta property=\"og:description\" content=\"A guide to tracking AI Search performance, measuring generative visibility, and finding opportunities to boost brand presence.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ipullrank.com\/ai-search-manual\/tracking\" \/>\n<meta property=\"og:site_name\" content=\"iPullRank\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-24T14:07:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1576\" \/>\n\t<meta property=\"og:image:height\" content=\"866\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@ipullrankagency\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"23 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/ipullrank.com\/ai-search-manual\/tracking\",\"url\":\"https:\/\/ipullrank.com\/ai-search-manual\/tracking\",\"name\":\"Tracking AI Search Visibility (GEO Analytics)\",\"isPartOf\":{\"@id\":\"https:\/\/ipullrank.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/ipullrank.com\/ai-search-manual\/tracking#primaryimage\"},\"image\":{\"@id\":\"https:\/\/ipullrank.com\/ai-search-manual\/tracking#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp\",\"datePublished\":\"2025-08-13T18:47:21+00:00\",\"dateModified\":\"2025-09-24T14:07:32+00:00\",\"description\":\"A guide to tracking AI Search performance, measuring generative visibility, and finding opportunities to boost brand presence.\",\"breadcrumb\":{\"@id\":\"https:\/\/ipullrank.com\/ai-search-manual\/tracking#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/ipullrank.com\/ai-search-manual\/tracking\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ipullrank.com\/ai-search-manual\/tracking#primaryimage\",\"url\":\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp\",\"contentUrl\":\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp\",\"width\":1576,\"height\":866},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/ipullrank.com\/ai-search-manual\/tracking#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/ipullrank.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The AI Search Manual\",\"item\":\"https:\/\/ipullrank.com\/ai-search-manual\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Tracking AI Search Visibility (GEO Analytics)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/ipullrank.com\/#website\",\"url\":\"https:\/\/ipullrank.com\/\",\"name\":\"iPullRank\",\"description\":\"Digital Marketing Agency in NYC\",\"publisher\":{\"@id\":\"https:\/\/ipullrank.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/ipullrank.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/ipullrank.com\/#organization\",\"name\":\"iPullRank\",\"url\":\"https:\/\/ipullrank.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/ipullrank.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/03\/Logo_-_Layers.svg\",\"contentUrl\":\"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/03\/Logo_-_Layers.svg\",\"width\":177,\"height\":36,\"caption\":\"iPullRank\"},\"image\":{\"@id\":\"https:\/\/ipullrank.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/ipullrankagency\",\"https:\/\/www.linkedin.com\/company\/ipullrank\/\",\"https:\/\/www.youtube.com\/@iPullRankSEO\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tracking AI Search Visibility (GEO Analytics)","description":"A guide to tracking AI Search performance, measuring generative visibility, and finding opportunities to boost brand presence.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/ipullrank.com\/ai-search-manual\/tracking","og_locale":"en_US","og_type":"article","og_title":"Tracking AI Search Visibility (GEO Analytics)","og_description":"A guide to tracking AI Search performance, measuring generative visibility, and finding opportunities to boost brand presence.","og_url":"https:\/\/ipullrank.com\/ai-search-manual\/tracking","og_site_name":"iPullRank","article_modified_time":"2025-09-24T14:07:32+00:00","og_image":[{"width":1576,"height":866,"url":"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp","type":"image\/webp"}],"twitter_card":"summary_large_image","twitter_site":"@ipullrankagency","twitter_misc":{"Est. reading time":"23 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ipullrank.com\/ai-search-manual\/tracking","url":"https:\/\/ipullrank.com\/ai-search-manual\/tracking","name":"Tracking AI Search Visibility (GEO Analytics)","isPartOf":{"@id":"https:\/\/ipullrank.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/ipullrank.com\/ai-search-manual\/tracking#primaryimage"},"image":{"@id":"https:\/\/ipullrank.com\/ai-search-manual\/tracking#primaryimage"},"thumbnailUrl":"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp","datePublished":"2025-08-13T18:47:21+00:00","dateModified":"2025-09-24T14:07:32+00:00","description":"A guide to tracking AI Search performance, measuring generative visibility, and finding opportunities to boost brand presence.","breadcrumb":{"@id":"https:\/\/ipullrank.com\/ai-search-manual\/tracking#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ipullrank.com\/ai-search-manual\/tracking"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ipullrank.com\/ai-search-manual\/tracking#primaryimage","url":"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp","contentUrl":"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/08\/AI-Search-Manual-Chapter-13.webp","width":1576,"height":866},{"@type":"BreadcrumbList","@id":"https:\/\/ipullrank.com\/ai-search-manual\/tracking#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/ipullrank.com\/"},{"@type":"ListItem","position":2,"name":"The AI Search Manual","item":"https:\/\/ipullrank.com\/ai-search-manual"},{"@type":"ListItem","position":3,"name":"Tracking AI Search Visibility (GEO Analytics)"}]},{"@type":"WebSite","@id":"https:\/\/ipullrank.com\/#website","url":"https:\/\/ipullrank.com\/","name":"iPullRank","description":"Digital Marketing Agency in NYC","publisher":{"@id":"https:\/\/ipullrank.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/ipullrank.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/ipullrank.com\/#organization","name":"iPullRank","url":"https:\/\/ipullrank.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/ipullrank.com\/#\/schema\/logo\/image\/","url":"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/03\/Logo_-_Layers.svg","contentUrl":"https:\/\/ipullrank.com\/wp-content\/uploads\/2025\/03\/Logo_-_Layers.svg","width":177,"height":36,"caption":"iPullRank"},"image":{"@id":"https:\/\/ipullrank.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/ipullrankagency","https:\/\/www.linkedin.com\/company\/ipullrank\/","https:\/\/www.youtube.com\/@iPullRankSEO"]}]}},"_links":{"self":[{"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/pages\/19588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/comments?post=19588"}],"version-history":[{"count":0,"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/pages\/19588\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/pages\/19509"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/media\/19589"}],"wp:attachment":[{"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/media?parent=19588"}],"wp:term":[{"taxonomy":"page-tag","embeddable":true,"href":"https:\/\/ipullrank.com\/wp-json\/wp\/v2\/page-tag?post=19588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}