<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://blog.runzbuzz.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://blog.runzbuzz.com/" rel="alternate" type="text/html" /><updated>2026-08-11T23:15:01+00:00</updated><id>https://blog.runzbuzz.com/feed.xml</id><title type="html">Runzbuzz Blog</title><subtitle>Runzbuzz Blog is a place where we share our findings, studies, lessons, and experiences from our AI journey, which we started more than 10 years ago.</subtitle><entry><title type="html">What managers need to know about GenAI?</title><link href="https://blog.runzbuzz.com/posts/genai-for-managers" rel="alternate" type="text/html" title="What managers need to know about GenAI?" /><published>2026-08-02T00:00:00+00:00</published><updated>2026-08-02T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/genai-for-managers</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/genai-for-managers"><![CDATA[<p>GenAI is expected to bring between <a href="https://www.mckinsey.com/industries/financial-services/our-insights/capturing-the-full-value-of-generative-ai-in-banking">$2.6 trillion and $4.4 trillion annually in value</a>. Banking is expected to have the largest opportunity, equivalent to $200 billion, according to McKinsey and Company.</p>

<p>Forbes reported that <a href="https://www.forbes.com/sites/jasonsnyder/2025/08/26/mit-finds-95-of-genai-pilots-fail-because-companies-avoid-friction/">GenAI is saving millions and cutting agencies’ costs by 30%</a>.
But at the same time, MIT reported that 95% of GenAI projects fail, as only 20% reach pilot and only 5% reach production. The study reports high adoption but lower transformation.</p>

<!-- To be linked later to that blog post -->
<!-- Here is why we developed a way to evaluate GenAI initiatives as a manager. -->

<p>Before evaluating GenAI projects, non-technical managers might need to understand GenAI concepts.</p>

<p>That is the objective we try to achieve in this post: to equip managers and executives with the crucial information needed to understand GenAI projects enough to evaluate them.</p>

<h2 id="what-is-genai-exactly">What is GenAI exactly?</h2>

<p>When AI generates content, whether it is text, images, voice, etc., it is generated using models. More concretely, neural network models.</p>

<p>When you ask ChatGPT to write an essay about AI in banking or when you ask <a href="https://www.midjourney.com/">MidJourney</a> to generate an image for your book’s cover letter, that is all Generative AI.</p>

<p><img src="/assets/forposts/genai-for-managers/genai_workflow.png" alt="GenAI high level workflow" /></p>

<p id="genai-workflow-fig" style="font-style:italic; color:#666; text-align:center; margin-bottom:6px;">
GenAI Workflow
</p>

<p>The user provides an input to the model (e.g., “Make a breakdown of the best chatbots in the market that support Arabic and English. Put the output in a table and compare the pros and cons for each.”).</p>

<h3 id="what-is-an-ai-model">What is an AI model?</h3>

<p>You can think of them as applications that contain data, mathematical formulas, and software. Some AI models can be used as-is, while others need to be trained.</p>

<h3 id="what-does-training-the-model-mean">What does training the model mean?</h3>

<p>It is like tuning the guitar or changing the radio frequency in your car to sound right. The way you tune AI is not with knobs but with data.</p>

<p>For example, a model for doctors is trained on medical literature. The model is fed with all kinds of books in biology, medicine, anatomy, etc. However, this model won’t have the latest published scientific research and findings.</p>

<p>The model can also be tuned/trained on the new scientific research. However, it is practically difficult because the training phase is time-consuming and very expensive. <a href="https://www.reuters.com/world/china/chinas-deepseek-says-its-hit-ai-model-cost-just-294000-train-2025-09-18/">OpenAI reported that it cost more than $100 million USD to train their base models</a>.</p>

<p>However, scientists came up with a clever way to solve this dilemma and avoid continuous retrainingg/tuning of the models. The idea is to have these new articles in a special database for AI consumption (e.g., a vector database). Whenever the user asks AI a question, it will decide whether it needs to fetch relevant information from this database. If so, then it will search for relevant information from this database. The AI model will now use the information it was trained on previously (e.g., scientific books) and the new information it found in that database. This technique is called RAG, which is short for <a href="https://dl.acm.org/doi/abs/10.5555/3495724.3496517">Retrieval-Augmented Generation</a>.</p>

<!-- polished -->

<h2 id="genai-history">GenAI History</h2>

<p>Everyone thinks GenAI started with ChatGPT in 2022. I started my AI Journey in 2014 by enrolling in a Master’s degree in Artificial Intelligence. That Master’s was offered by the Department of AI. So, way before 2022, there was a department of AI. Actually, <a href="https://www.fi.upm.es/web/orex/wp-content/uploads/sites/30/2024/10/20240910-welcome-Incoming.pdf">the first MSc in AI at Universidad Politécnica de Madrid was offered in 1986</a>. Ten years before that, <a href="https://informatics.ed.ac.uk/60-years-of-computer-science-and-ai/a-short-history-of-the-antecedents-of-the-school">the University of Edinburgh formed the department of AI in 1976</a>. I am not sure whether there were older AI departments elsewhere.</p>

<p><img src="/assets/forposts/genai-for-managers/aaron.png" alt="Examples of AARON generated images" /></p>
<p id="aaron-fig" style="font-style:italic; color:#666; text-align:center; margin-bottom:6px;">
Examples of AARON generated images.
</p>

<p>Can you guess when the first GenAI was created? Way before <a href="https://openai.com/index/dall-e/">DALL-E</a> and <a href="https://www.midjourney.com/">Midjourney</a>, AARON was created by <a href="https://en.wikipedia.org/wiki/Harold_Cohen_(artist)">Harold Cohen</a> in the 1970s. His AI-generated art is available at the <a href="https://whitney.org/exhibitions/harold-cohen-aaron">Whitney Museum of American Art</a>.</p>

<p><img src="/assets/forposts/genai-for-managers/eliza.png" alt="Screenshot of Eliza chatbot" /></p>

<p id="eliza-fig" style="font-style:italic; color:#666; text-align:center; margin-bottom:6px;">
Screenshot of Eliza chatbot.
</p>

<p>There is something else that came before AARON. Have you heard about <a href="https://mitpress.mit.edu/9780262052481/inventing-eliza/">Eliza</a>? It was created by <a href="https://en.wikipedia.org/wiki/Joseph_Weizenbaum">Joseph Weizenbaum</a> at MIT in the 1960’s. It was one of the first known chatbots. It simulated a psychotherapist to help patients.</p>

<p>Anthony Hay <a href="https://github.com/anthay/ELIZA">re-created Eliza, simulating the original version</a>. He made the demo available, which you can test here: <a href="https://anthay.github.io/eliza.html">https://anthay.github.io/eliza.html</a>.</p>

<p>If it is that old, then why do we need to worry about it now?</p>

<h2 id="why-genai-now">Why GenAI Now?</h2>

<p>Previously, the results of GenAI weren’t that good, and it wasn’t practical to use. 
Currently, the GenAI tools are mature enough to be used even by non-technical people.</p>

<p>Most probably, your competitors are using GenAI to have an edge in the race. According to The Economist, <a href="https://insights.economistenterprise.com/projects/facing-the-future-with-ai/five-generative-ai-initiatives-leaders-should-pursue-now/">43% have already started</a>. <a href="https://insights.economistenterprise.com/projects/facing-the-future-with-ai/five-generative-ai-initiatives-leaders-should-pursue-now/">91% are using AI to optimize their processes or using chatbots, while only 8% are actually driving innovation</a>.</p>

<p>McKinsey and Company predicts that <a href="https://www.mckinsey.com/industries/financial-services/our-insights/capturing-the-full-value-of-generative-ai-in-banking">GenAI will bring $2.6 trillion to $4.4 trillion annually in value</a>.</p>

<h3 id="success-stories">Success stories</h3>

<ul>
  <li>
    <p><a href="https://www.factr.me/blog/klarna-ai-case-study">Klarna: 10+ million USD by automated workload.</a></p>
  </li>
  <li>
    <p><a href="https://www.nttdata.com/global/en/insights/focus/2025/a-force-for-good-how-ai-and-genai-are-reshaping-our-world">NTT Data: reduced data extraction from six months to 3 minutes.</a></p>
  </li>
  <li>
    <p><a href="https://www.relevantaudience.com/ai/ai-shopping-assistants-transforming-retail/">Sephora: Increased conversion rate by 45% via virtual assistants and reduced product returns due to color/style mismatches by 30%.</a></p>
  </li>
</ul>

<p>But people rarely talk about the horror stories.</p>

<h3 id="horror-stories">Horror Stories</h3>
<ul>
  <li>
    <p>A company, in a single month, <a href="https://www.inc.com/kevin-haynes/the-500-million-ai-mistake-every-company-is-rushing-to-avoid/91353205">paid around $500 million USD</a> for one of their clients due to their introduction to Claude, because they forgot to put a cap on usage.</p>
  </li>
  <li>
    <p>Companies that seemingly vibe-coded their products lost money due to others using their leaked keys (common vibe coding concern). <a href="https://www.linkedin.com/posts/lukehinds_secure-and-protect-openclaw-in-2-minutes-activity-7425263220187365376-4_Di">1.5 million API keys were leaked, including OpenAI, Claude, and others</a>.</p>
  </li>
  <li>
    <p><a href="https://www.wired.com/story/mcdonalds-ai-hiring-chat-bot-paradoxai/">McDonald’s hiring bot exposed millions of applicants’ data</a>, according to WIRED.</p>
  </li>
  <li>
    <p>Microsoft’s Tay AI <a href="https://www.theguardian.com/technology/2016/mar/26/microsoft-deeply-sorry-for-offensive-tweets-by-ai-chatbot">learned to swear</a> and <a href="https://www.bbc.com/news/technology-35890188">sprinted out of control</a>. It was learning from humans’ tweets and later <a href="https://www.cbsnews.com/news/microsoft-shuts-down-ai-chatbot-after-it-turned-into-racist-nazi/">turned into a nazi</a> that Microsoft had to shut it down.</p>
  </li>
</ul>

<p><img src="/assets/forposts/genai-for-managers/tay.png" alt="Screenshot of Tay AI" /></p>

<p id="tay-fig" style="font-style:italic; color:#666; text-align:center; margin-bottom:6px;">
Screenshot of Tay AI.
</p>

<ul>
  <li>
    <p>xAI: Chat publishes Antisemitic posts that <a href="https://www.npr.org/2025/07/09/nx-s1-5462609/grok-elon-musk-antisemitic-racist-content">Grok started calling itself Mecha Hitler.</a></p>
  </li>
  <li>
    <p><a href="https://x.com/jasonlk/status/1946239737368592629">Replit (GenAI tool)</a> <a href="https://cybernews.com/ai-news/replit-ai-vive-code-rogue/">wiped out production database.</a></p>
  </li>
</ul>

<p><img src="/assets/forposts/genai-for-managers/replit.png" alt="Screenshot of a post on x about Replit wiping production database." /></p>

<p id="replit-fig" style="font-style:italic; color:#666; text-align:center; margin-bottom:6px;">
Screenshot of a post on x about Replit wiping production database.
</p>

<ul>
  <li>
    <p><a href="https://futurism.com/sports-illustrated-ai-generated-writers">Sports Illustrated found that</a> their publisher, Arena Group, used AI-generated content, which was blamed on a contractor.</p>
  </li>
  <li>
    <p><a href="https://medium.com/@glasier067/claude-code-accidentally-deleted-a-production-database-heres-what-really-happened-9135b4bb2318">Claude Code wiped a production database</a>. <a href="https://alexeyondata.substack.com/p/how-i-dropped-our-production-database">The AI Agent executed a command that deleted the production database.</a></p>
  </li>
</ul>

<p><img src="/assets/forposts/genai-for-managers/claude_code_wipe_db.png" alt="Screenshot of a post on x about Claude Code wiping database." /></p>

<p id="claude-fig" style="font-style:italic; color:#666; text-align:center; margin-bottom:6px;">
Screenshot of a post on x about Claude Code wiping database.
</p>

<h3 id="lawsuits">Lawsuits</h3>

<ul>
  <li>iTutorGroup <a href="https://www.eeoc.gov/newsroom/itutorgroup-pay-365000-settle-eeoc-discriminatory-hiring-suit">lawsuit for AI discrimination</a> (settlement of $365000 USD).</li>
  <li>
    <p><a href="https://daveadr.com/blog/disregardingmanifestdisregardagain-nwkfh">“ChatGPT erroneously generated a response falsely stating that Walters, who had no involvement in the case, was accused of embezzling funds from SAF”</a></p>
  </li>
  <li>
    <p>The chatbot of Air Canada suggested an invalid option to Moffatt. Then, “Air Canada says it cannot be held liable for the information provided by the chatbot” (see <a href="https://decisions.civilresolutionbc.ca/crt/crtd/en/item/525448/index.do">Moffatt v. Air Canada</a>). At the end, Air Canada paid Moffatt.</p>
  </li>
  <li>New York had a Chatbot to provide New Yorkers with information to help businesses in New York. However, <a href="https://themarkup.org/artificial-intelligence/2024/03/29/nycs-ai-chatbot-tells-businesses-to-break-the-law">the Chatbot in New York advised businesses to break the law.</a></li>
</ul>

<h2 id="genai--data">GenAI &amp; Data</h2>

<p>The most downplayed component of AI projects, which caused many large GenAI projects to fail, is data. GenAI is highly coupled with data. <a href="https://www.reuters.com/technology/reddit-ai-content-licensing-deal-with-google-sources-say-2024-02-22/">Google is paying Reddit $60 million</a> to access its data. <a href="https://www.wsj.com/tech/ai/reddit-signs-data-licensing-deal-with-openai-14993757">OpenAI is paying Reddit</a> for its data as well (around <a href="https://searchengineland.com/openai-may-pay-reddit-70m-for-licensing-deal-451882">$70 million in some estimates</a>).</p>

<p><a href="https://www.cnbc.com/2025/10/23/reddit-user-data-battle-ai-industry-sues-perplexity-scraping-posts-openai-chatgpt-google-gemini-lawsuit.html">Reddit filed a lawsuit against AI giants Perplexity</a> and <a href="https://www.theguardian.com/technology/2025/jun/04/reddit-lawsuit-ai-startup-anthropic-data">Anthropic for using its copyrighted data</a> to train their AI models without permission.</p>

<p>However, the majority of GenAI projects do not train their models from scratch because it is a very expensive, demanding task that only a handful of companies have the resources to successfully execute (experience, money, infrastructure, …).  Also, the return on investment (ROI) doesn’t make sense except for AI-specialized or niche companies. <a href="https://www.reuters.com/world/china/chinas-deepseek-says-its-hit-ai-model-cost-just-294000-train-2025-09-18/">OpenAI spent more than $100 million</a> to train their older models. Estimates of Grok training also exceed a couple of hundred million USD.</p>

<p>In practice, most practical GenAI projects fall in one of these buckets:</p>
<ol>
  <li>Augmenting AI models using RAG.</li>
  <li>Fine-tuning pre-trained AI models.</li>
</ol>

<h3 id="retrieval-augmented-generation">Retrieval-Augmented Generation</h3>

<p><a href="https://cloud.google.com/use-cases/retrieval-augmented-generation">Retrieval-Augmented Generation (RAG)</a> is a clever trick to provide the model with the data without re-training or fine-tuning it. In high-level terms, it is like giving the AI model “access” to the data.</p>

<p>For example, let us say a telecom company is building a chatbot. Users can inquire about their remaining GBs in their data package, why their balance this month is high, and whether there are other data packages they can purchase to save money.</p>

<p>A bank might offer a GenAI service to customers who want to buy a car with installments or a loan with an initial payment, and so on.</p>

<p>These examples would access the user profile, their band (e.g., high tier, low tier, …), balance, and services in their profile. It would also have access to the company’s offers and services.</p>

<p>Data related to the user profile and the company offers and services are fed to AI via RAG. Technically, the data is stored in a special database (e.g., a <a href="https://www.databricks.com/blog/what-is-vector-database">vector database</a>), and the system feeds the AI the relevant data.</p>

<!-- polished (except for the table) -->

<h3 id="fine-tuning-and-adaptive-techniques">Fine-Tuning and Adaptive Techniques</h3>

<p>This is a more technically demanding option. It is about tuning or steering the AI model in the required directions to be aligned with the provided training data. But it can be expensive as well.</p>

<p>There are other variants of this, which can be thought of as adding an extra layer (e.g., <a href="https://iclr.cc/virtual/2022/poster/6319">LoRA</a>), so the tuning is done on this new layer, <a href="https://www.ibm.com/think/topics/lora">without affecting the base model</a>. However, in practice, it might <a href="https://www.ibm.com/think/topics/lora">reduce accuracy</a> and might <a href="https://www.digitalocean.com/community/tutorials/lora-low-rank-adaptation-llms-explained#limitations-and-considerations">not generalize well</a>.</p>

<p>Furthermore, this is not suitable for dynamic data that changes frequently (e.g., User account balance, business offers, federal interest rate, …).</p>

<p>We summarize the different use cases for RAG and Fine-Tuning.</p>

<style>
  .comparison-table-wrapper {
    margin-bottom: 2rem;
    overflow-x: auto;
    border: 1px solid #dbe3ea;
    border-radius: 12px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  }

  .comparison-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    background: #ffffff;
    font-family: Arial, sans-serif;
    font-size: 0.95rem;
    line-height: 1.5;
  }

  .comparison-table th,
  .comparison-table td {
    padding: 16px 18px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #e7edf2;
  }

  .comparison-table thead th {
    background: #f4f8fb;
    color: #1f2937;
    font-size: 1rem;
    font-weight: 700;
  }

  .comparison-table thead th:first-child {
    width: 22%;
  }

  .comparison-table tbody th {
    color: #334155;
    font-weight: 600;
    background: #fafcfd;
  }

  .comparison-table tbody tr:last-child th,
  .comparison-table tbody tr:last-child td {
    border-bottom: none;
  }

  .comparison-table tbody tr:hover td,
  .comparison-table tbody tr:hover th {
    background: #f8fbfd;
  }

  .comparison-label {
    display: inline-block;
    margin-bottom: 6px;
    padding: 3px 9px;
    border-radius: 999px;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
  }

  .rag-label {
    background: #e0f2fe;
    color: #0369a1;
  }

  .fine-tuning-label {
    background: #ede9fe;
    color: #6d28d9;
  }

  @media (max-width: 768px) {
    .comparison-table th,
    .comparison-table td {
      padding: 13px 14px;
    }
  }
</style>

<p id="table-1-ad-types-and-relevance" style="font-style:italic; color:#666; text-align:center; margin-bottom:6px;">
Table 1. Comparison between RAG and fine-tuning techniques.
</p>

<div class="comparison-table-wrapper">
  <table class="comparison-table">
    <thead>
      <tr>
        <th>
                  <span class="comparison-label"></span><br />

        Aspect</th>
        <th>
          <span class="comparison-label rag-label">RAG</span><br />
          Retrieval-Augmented Generation
        </th>
        <th>
          <span class="comparison-label fine-tuning-label">Fine-Tuning</span><br />
          Fine-Tuning and Adaptive Techniques
        </th>
      </tr>
    </thead>

    <tbody>
      <tr>
        <th scope="row">Best suited for</th>
        <td>Dynamic or frequently changing information</td>
        <td>Stable knowledge, specialized behavior</td>
      </tr>

      <tr>
        <th scope="row">Primary purpose</th>
        <td>Provide the model with relevant external knowledge</td>
        <td>Adapt how the model responds</td>
      </tr>

      <tr>
        <th scope="row">Updating knowledge</th>
        <td>Update the connected documents or database</td>
        <td>Requires additional training or re-tuning</td>
      </tr>

      <tr>
        <th scope="row">Time to implement</th>
        <td>Faster to implement</td>
        <td>Requires more preparation and testing</td>
      </tr>

      <tr>
        <th scope="row">Cost</th>
        <td>Typically lower</td>
        <td>Moderate to high</td>
      </tr>

      <tr>
        <th scope="row">Infrastructure</th>
        <td>Requires a retrieval system and access to organizational data</td>
        <td>May require GPU resources during training</td>
      </tr>

      <tr>
        <th scope="row">Typical examples</th>
        <td>
          Company policies, product catalogs, internal documentation,
          and current offers
        </td>
        <td>
          Customer-service tone, industry terminology, specialized writing,
          classification, and task-specific behavior
        </td>
      </tr>
    </tbody>
  </table>
</div>

<h2 id="data-governance-and-provenance">Data Governance and Provenance</h2>

<p><em>What should you be aware of when it comes to data?</em></p>

<p><strong>What if the GenAI resulted in an interest rate lower than anticipated?</strong> Or <strong>falsely declined a loan (lost customer) due to obsolete regulations that are no longer active?</strong></p>

<p>A bank would like to know why this happened and how to prevent such issues for the next prospective customers.</p>

<p>Let us ask the following:</p>
<ol>
  <li>Why did the AI not suggest service X?</li>
  <li>Why does it show that my balance is X when the app shows Y?</li>
  <li>Who said customers on package Z can get a 50% discount if they bought a family member on board?</li>
  <li>Why is customer X getting promotion Y even though they are on promotion Z already?</li>
</ol>

<p>This is where data governance and provenance come into play.</p>

<h3 id="data-governance">Data Governance</h3>

<p>Data Governance is about rules and policies. For example, all sensitive data should be encrypted; personal information (e.g., name, date of birth) should be fetched directly from government resources (e.g., Hawiti in Kuwait). This also includes legal policies (e.g., gender data should not be used when considering the loan).</p>

<p>Let us say the company wanted to gift all mothers who are subscribed to package X on Mother’s Day. The system has to decide where to pull the data from. Practically speaking, this data might exist in many sources inside the company, and not necessarily all of them are complete or up to date. So deciding the source randomly might cause some mothers to not get the gift due to missing data, or for mothers who already received the gift last month to receive the same gift again.</p>

<p>This issue won’t happen with proper planning. Probably the owners of those specific datasets would advise not to fetch the mother’s data from these sources or not to rely on that other database because the data is updated every other month, so that new customers will miss it, and customers who already left will receive the gift.</p>

<p>But what if the source used was correct? Can we face another issue? What happens if the issue occurs in the data transformation phase? One common pattern is having boolean values in text. For example, some data sources use “yes,” and other data sources use “Y”. In international organizations or multilingual data, “si” can also be found (which is yes in Spanish). The journey of the data is related to Data Provenance.</p>

<h3 id="data-provenance">Data Provenance</h3>

<p><a href="https://doi.org/10.1007/3-540-44503-X_20">Data Provenance</a> is the journey of the data, sometimes called <a href="https://www.ibm.com/think/topics/data-lineage">data lineage</a>. It helps in <a href="https://doi.org/10.1109/ICDE.1997.581742">tracing errors and anomalies</a>.</p>

<p>Data in the database can be exposed in <a href="https://doi.org/10.1007/3-540-44503-X_20">database views</a> or materialized, transformed, <a href="https://doi.org/10.1109/ICDE.2000.839437">aggregated</a>, and integrated with data from other sources.</p>

<p>Knowing this information is crucial for monitoring and tracking inaccuracies and data discrepancies in AI answers, as RAG is a common way used in GenAI projects to feed the AI with the organization’s data.</p>

<h2 id="final-remarks">Final Remarks</h2>
<ol> <li>
Managers are not expected to be AI engineers, but they should understand the core concepts of Generative AI to make informed decisions and ask the right questions.
</li>
<li>
GenAI presents significant opportunities, but organizations should start with a clear business case and evaluate the expected return on investment before investing in the project.
</li>
<li>
Data is one of the most underestimated dimensions when it comes to AI projects and GenAI in particular. Data Governance and Provenance should be considered from the beginning of the project, rather than treated as an afterthought or after problems arise.
</li>
<li>
Clearly define human accountability. AI can assist with decision-making, but responsibility should always remain with people. As IBM famously stated in 1979: <a href="https://www.ibm.com/think/insights/ai-decision-making-where-do-businesses-draw-the-line">"A computer can never be held accountable, therefore a computer must never make a management decision."</a>



</li>
</ol>

<p>If you like to go further and learn how to assess Generative AI projects objectively, explore our course, <a href="https://tatrainsight.com/training/making-data-ai-work/">Helping Organizations Make Data &amp; AI Work</a>, developed through a collaboration between <a href="https://www.runzbuzz.com/">Runzbuzz</a> and <a href="https://tatrainsight.com/">TatraInsight</a>. 
<a href="https://www.runzbuzz.com/">Runzbuzz</a> provides AI consulting and R&amp;D services. If you have an AI project, we’d be happy to discuss how we can help.</p>]]></content><author><name>Ahmad Alobaid</name></author><category term="AI for Managers" /><summary type="html"><![CDATA[Generative AI is transforming industries and is expected to bring trillions of dollars in economic value. Many organizations have already started their AI journey. But how can managers and executives assess GenAI projects and steer them towards success? They aren’t expected to be engineers, but they need to understand the core concepts of GenAI, ask the right questions, recognize key opportunities, be aware of the risks, and learn to evaluate GenAI projects objectively.]]></summary></entry><entry><title type="html">AI Search in Kuwait: Which Brands Are Winning Across Telecom, Food Delivery, and Payments?</title><link href="https://blog.runzbuzz.com/posts/tracking-kuwaiti-brands" rel="alternate" type="text/html" title="AI Search in Kuwait: Which Brands Are Winning Across Telecom, Food Delivery, and Payments?" /><published>2026-03-23T00:00:00+00:00</published><updated>2026-03-23T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/tracking-kuwaiti-brands</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/tracking-kuwaiti-brands"><![CDATA[<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

<center>
<iframe width="560" height="315" src="https://www.youtube.com/embed/h6lxMbIWefQ?si=0FxA7KRdxmo6AIze" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>
</center>

<h1 id="introduction">Introduction</h1>
<p><img src="/assets/forposts/kuwaiti-brands-in-buzzsense/kuwait-towers-ai-charts.png" style="float: right; margin-left: 0.6rem; max-height: 20rem; max-width: 24rem;" /></p>

<p>More than ever, people are turning to AI assistants to search for products and ask for recommendations, whether it’s food delivery apps, telecom providers, or AI consultancy companies like <a href="https://www.runzbuzz.com/">Runzbuzz</a>.</p>

<ul style="padding-left: 1rem">
<li><i>But do brands actually know how they perform in systems like <a href="https://chatgpt.com/">ChatGPT</a> or  <a href="https://gemini.google.com/">Gemini</a>?</i></li>
<li><i>How often do they appear?</i></li>
<li><i>And which competitors are being recommended more frequently?</i></li>
</ul>

<p>Answering these questions is not straightforward. It requires continuously tracking brand mentions, visibility, and performance over time across multiple AI systems and languages.</p>

<p>This is where tools like BuzzSense.ai come in. Instead of building complex tracking systems from scratch, companies can focus on understanding their performance, benchmarking against competitors, and optimizing their visibility through SEO and GEO strategies tailored for AI assistants.</p>

<p><br /></p>

<p>In this study, we focus on aggregated results across multiple AI models. While <a href="https://www.buzzsense.ai/">BuzzSense</a> provides deeper insights and breakdowns across several dimensions, this report highlights the key trends at a high level.</p>

<p>We analyzed top Kuwaiti brands using <a href="https://www.buzzsense.ai/">buzzsense.ai</a> across three sectors:</p>

<ul>
  <li>Food Delivery</li>
  <li>Telecommunications</li>
  <li>Online Payment Solutions</li>
</ul>

<p>The results are aggregated from hundreds of prompts executed across six different AI models, in both Arabic and English.</p>

<h1 id="what-is-brand-visibility-in-ai-search">What Is Brand Visibility in AI Search?</h1>

<p><img src="/assets/forposts/kuwaiti-brands-in-buzzsense/kuwaiti-logos.png" style="float: right; margin-left: 0.6rem; max-height: 22rem; max-width: 26rem;" /></p>

<p>When people use AI assistants like ChatGPT or Gemini, they often ask for recommendations, whether it’s for products, services, or companies.</p>

<p>For example, a user might ask:</p>

<p><em>
“I want to build an app that recommends events to users in Kuwait. Can you suggest local companies specialized in AI?”
</em></p>

<p>The AI will typically respond by listing several companies, along with explanations. For instance, it might mention:</p>

<ul>
  <li>Runzbuzz</li>
  <li>Company B</li>
  <li>Company C</li>
</ul>

<p>Each with different strengths and weaknesses.</p>

<h2 id="so-where-does-visibility-come-in">So where does “visibility” come in?</h2>

<p>Now imagine this question is asked multiple times, across:</p>

<ul>
  <li>different AI models</li>
  <li>different languages</li>
  <li>and over time</li>
</ul>

<p>Each time, the AI may return slightly different answers:</p>

<ul>
  <li>Sometimes Runzbuzz is mentioned *</li>
  <li>Sometimes Company B is missing *</li>
  <li>Sometimes a new competitor appears *</li>
</ul>

<h2 id="measuring-visibility">Measuring Visibility</h2>

<p>To quantify this, we track how often each brand appears in AI-generated responses (<em>along with other signals which we omit here for simplicity</em>).</p>

<p>For example:</p>

<ul>
  <li>Runzbuzz → 2 mentions out of 2 responses</li>
  <li>Company B → 1 out of 2</li>
  <li>Company C → 2 out of 2</li>
</ul>

<p>Over a larger sample, this becomes more meaningful:</p>

<ul>
  <li>Runzbuzz → 95 / 100</li>
  <li>Company B → 60 / 100</li>
  <li>Company C → 77 / 100</li>
  <li>Company D → 13 / 100</li>
</ul>

<h2 id="what-this-means">What This Means</h2>

<p>This score represents AI visibility:</p>

<p><em>
How frequently a brand is mentioned when users ask relevant questions.
</em></p>

<p>The higher the number, the more likely the brand is to be recommended by AI assistants.</p>

<h2 id="why-it-matters">Why It Matters</h2>

<p>AI assistants are becoming a new discovery channel, similar to search engines, but more opinionated. If your brand:</p>

<ul>
  <li>appears frequently → <strong>you get recommended</strong></li>
  <li>appears rarely → <strong>your competitors win the opportunity</strong></li>
</ul>

<h2 id="a-note-on-the-results">A Note on the Results</h2>

<p>In practice, visibility can be broken down across multiple dimensions: Language, AI model, intent. For simplicity, we focus in this report on aggregated visibility scores.</p>

<p>
<em>
Now that we understand how visibility is measured, let’s look at how Kuwaiti brands perform across different sectors.
</em>
</p>

<h1 id="ai-visibility-in-telecom-zain-leads-in-english-ooredoo-in-arabic">AI Visibility in Telecom: Zain Leads in English, Ooredoo in Arabic</h1>

<div style="float: right; margin-left: 0.8rem; max-height: 200rem;  max-width: 20rem;">
  <canvas id="teleChart" height="200px"></canvas>
</div>

<p>The telecommunications sector in Kuwait is relatively concentrated, with three main operators and a virtual one (<a href="https://www.virginmobile.com.kw/en/">Virgin Mobile</a>). Interestingly, rankings vary depending on language:</p>
<ul style="padding-left: 1rem">
<li>In English prompts, <a href="https://zain.com/en">Zain</a> ranks highest, followed by <a href="https://ooredoo.com.kw/en/">Ooredoo</a>.</li>
<li>In Arabic prompts, Ooredoo takes the lead, with Zain in second place.</li>
<li><a href="https://www.stc.com.kw/en">STC </a> and <a href="https://www.virginmobile.com.kw/en/">Virgin Mobile</a> consistently rank third and fourth, respectively, across both languages.</li>
</ul>

<p>This highlights a key insight: language plays a significant role in brand visibility within AI systems.</p>

<p><br /></p>

<h1 id="food-delivery-in-ai-search-consistent-rankings-across-languages">Food Delivery in AI Search: Consistent Rankings Across Languages</h1>
<div style="float: right; margin-left: 0.8rem; max-height: 200rem;  max-width: 20rem;">
  <canvas id="foodChart" height="200px"></canvas>
</div>

<p>The food delivery space in Kuwait is more competitive, with several active players. Across both Arabic and English prompts, the ranking remains consistent:</p>

<ol>
  <li><a href="https://www.talabat.com/kuwait">Talabat</a></li>
  <li><a href="https://deliveroo.com.kw/en/">Deliveroo</a></li>
  <li><a href="https://www.jahez.net/">Jahez</a></li>
  <li><a href="https://www.keeta-global.com/KW/">Keeta</a></li>
</ol>

<p>However, language performance tells a more nuanced story:</p>

<p>Talabat is the only brand where Arabic visibility outperforms English.
Deliveroo and Jahez perform significantly better in English.
Keeta, being a newer entrant, shows low visibility across both languages.</p>

<p>This suggests that brand maturity and localization strategy both impact AI visibility.</p>

<p><br /></p>

<h1 id="payment-providers-diverging-results-between-arabic-and-english">Payment Providers: Diverging Results Between Arabic and English</h1>
<center>
<div style="max-height: 120rem;  max-width: 45rem;">
  <canvas id="paymentChart" style="max-height: 20rem;" height="220px"></canvas>
</div>
</center>

<p>For this category, we focused on e-Payment Service Providers (EPSPs) approved by the Central Bank of Kuwait, as listed on their <a href="https://www.cbk.gov.kw/en/supervision/regulated-entities/e-payment-of-funds-companies/epayment-services-providers">official website</a>. We filtered and analyzed the top-performing providers and observed notable differences between Arabic and English prompts.</p>

<p><strong>English prompts:</strong></p>
<ol>
  <li><a href="https://www.myfatoorah.com/">Myfatoorah</a></li>
  <li><a href="https://www.hesabe.com/">Hesabe</a></li>
  <li><a href="https://upayments.com/">Upayments</a></li>
</ol>

<p><strong>Arabic prompts:</strong></p>
<ol>
  <li><a href="https://www.tap.company/en-kw">Tap Payments</a></li>
  <li><a href="https://upayments.com/">Upayments</a></li>
  <li><a href="https://tahseeel.com/">Tahseel</a></li>
</ol>

<p>To better understand overall performance, we computed the average visibility across both languages: <em>Upayments ranks highest overall, followed by Tap Payments, and then Myfatoorah</em>. This reinforces the importance of balanced multilingual visibility.</p>

<h1 id="conclusion-the-importance-of-multilingual-optimization">Conclusion: The Importance of Multilingual Optimization</h1>

<p>Our analysis shows that optimizing for one language does not guarantee visibility in another. This is especially critical in markets like Kuwait, where audiences are split between Arabic and English, with many users consuming content in both. As AI assistants become a primary discovery channel, brands need to actively monitor and optimize their presence in these systems.</p>

<p>If you don’t want to be left behind in the AI era, make sure to track your brand performance in AI assistants using tools like <a href="https://www.buzzsense.ai/">buzzsense.ai</a>.</p>

<p><br /></p>

<center>
<iframe width="315" height="560" src="https://youtube.com/embed/poaNkJyJEHI?si=Xv2XzT3bZMpZ5NGw" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="">
</iframe>
</center>

<script>

var primary="rgba(1,160,228,0.85)";
var secondary="rgba(112,111,111,0.5)";
var tertiary="rgba(112,111,111, 1)";




// ---------- Telecom Outcomes by Language ----------
new Chart(document.getElementById("teleChart"), {
    type: "bar",
    data: {
        labels: ["Zain", "Ooredoo", "STC", "Virgin"],
        datasets: [
            {
                label: "English",
                data: [82.9, 73.1, 64.4, 29.9],
		        backgroundColor: tertiary
            },
            {
                label: "Arabic",
                data: [50.0, 64.6, 46.5, 19.2],
                backgroundColor: secondary
            }
        ]
    },
    options: {
 	    //indexAxis: "y",  
        scales: {
            x: { 
            	stacked: false,

            },
            y: {
                stacked: false,
                ticks: {
                    callback: (v) => (v*1).toFixed(0) + "%"
                }
            }
        },
        plugins: {
            title: { display: true, text: "Telecom Visibility by Language" }
        }
    }
});



// ---------- Food Delivery Outcomes by Language ----------
new Chart(document.getElementById("foodChart"), {
    type: "bar",
    data: {
        labels: ["Talabat", "Deliveroo", "Jahez", "Keeta"],
        datasets: [
            {
                label: "English",
                data: [83.5, 62.8, 59.1, 8.7],
		        backgroundColor: tertiary
            },
            {
                label: "Arabic",
                data: [91.1, 20.7, 12.4, 7.7],
                backgroundColor: secondary
            }
        ]
    },
    options: {
 	    //indexAxis: "y",  
        scales: {
            x: { 
            	stacked: false,

            },
            y: {
                stacked: false,
                ticks: {
                    callback: (v) => (v*1).toFixed(0) + "%"
                }
            }
        },
        plugins: {
            title: { display: true, text: "Food Delivery Visibility by Language" }
        }
    }
});



// ---------- Payment Outcomes by Language ----------
new Chart(document.getElementById("paymentChart"), {
    type: "bar",
    data: {
        labels: ["Myfatoorah", "Hesabe", "Upayments", "Tap Payments", "Sadad Pay", "Payzah", "Casheer", "Ecom", "Tahseeel"],
        datasets: [
            {
                label: "English",
                data: [56.4, 48.9, 43.3, 30.6, 16.3, 7.8, 2.9, 2.0, 2.0],
		        backgroundColor: tertiary
            },
            {
                label: "Arabic",
                data: [14.3, 17.8, 41.8, 44.4, 23.7, 11.7, 13.7, 0.6, 41.5],
                backgroundColor: secondary
            },
            {
                label: "Average",
                data: [35.35, 33.35, 42.55, 37.5, 20, 9.75, 8.3, 1.3, 21.75],
		        backgroundColor: primary
            }
        ]
    },
    options: {
 	    //indexAxis: "y",  
        scales: {
            x: { 
            	stacked: false,

            },
            y: {
                stacked: false,
                ticks: {
                    callback: (v) => (v*1).toFixed(0) + "%"
                }
            }
        },
        plugins: {
            title: { display: true, text: "e-Payment Services Providers Visibility by Language" }
        }
    }
});



</script>]]></content><author><name>Ahmad Alobaid</name></author><category term="GEO" /><category term="AI" /><category term="Kuwait" /><summary type="html"><![CDATA[We analyzed the AI visibility of leading Kuwaiti brands on ChatGPT and Gemini across three sectors: Food Delivery, Telecommunications, and Online Payments. The study highlights the top-performing brands in each category and compares their performance against competitors. Using BuzzSense, companies can better understand and optimize their presence in AI assistants, improving their visibility in the growing landscape of AI search (GEO).]]></summary></entry><entry><title type="html">When AI Makes Up Links: Measuring URL Hallucinations in ChatGPT and Gemini</title><link href="https://blog.runzbuzz.com/posts/ai-search-url-hallucination" rel="alternate" type="text/html" title="When AI Makes Up Links: Measuring URL Hallucinations in ChatGPT and Gemini" /><published>2026-03-17T00:00:00+00:00</published><updated>2026-03-17T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/ai-search-url-hallucination</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/ai-search-url-hallucination"><![CDATA[<!--
<div>
  <img 
    src='/assets/forposts/fake-urls.png' 
    style="
      display: block;
      margin: 0 auto;
      max-height: 30rem;
      max-width: 30rem;
      width: 100%;
      object-fit: cover;
    "
  >
</div>

<div>
<img src='/assets/forposts/fake-urls.png' style="float: center; margin-right: 1rem; max-height: 40rem; max-width: 40rem; " >
</div>
<br>
-->

<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>

<h1 id="introduction">Introduction</h1>

<p>In the early days of <a href="https://www.buzzsense.ai">BuzzSense</a>, we were experimenting with many ways of getting URLs from AI assistants and observed a large number of hallucinated URLs. Hallucinated URLs are fake links generated by AI assistants. In this experiment, we used several models from OpenAI and Google. We collected more than 100,000 URLs and tested whether they were valid or invalid (hallucinated).</p>

<h2 id="key-terms">Key Terms</h2>

<ul style="padding-left: 1rem;">
<li>
<b>URL:</b> The acronym URL is short for <a href="https://en.wikipedia.org/wiki/URL">Uniform Resource Locator</a>. It is the address of a resource (or simply a web page). Many times, links and URLs are used to refer to the same thing.
</li>
<li>
<b>Hallucination:</b> Invalid piece of information generated by the language model.
</li>
<li><b>Hallucination Score:</b> The percentage of URLs that resulted in either a network error or that returned a status error, which indicates an error (e.g., 404 when the resource/page is not found).
</li>
</ul>

<h2 id="key-questions">Key Questions</h2>

<p>In this blog post, we report our findings and answer the following questions:</p>

<ol>
  <li>Who hallucinates more, Gemini or ChatGPT?</li>
  <li>Do hallucination rates vary across different sectors?</li>
  <li>Are hallucinated URLs more common in Arabic prompts or English prompts?</li>
  <li>Do certain prompt intents lead to more hallucinated URLs?</li>
</ol>

<h1 id="experiment">Experiment</h1>

<p>We had many prompts for different purposes and intents (see below). Experiments were conducted across two languages, spanning three different sectors, and tested on several models from OpenAI and Google.</p>

<h2 id="data-collection">Data Collection</h2>
<p>The data we collected was from buzzsense.ai, which tracks brand visibility in AI Assistants like ChatGPT and Gemini. Prompts are written for the following sectors: Technology, Plastic Surgery, and Beauty Salons. These areas were chosen due to business use cases related to BuzzSense. In total, we have collected more than 100K URLs from different models.</p>

<h2 id="url-hallucination">URL Hallucination</h2>
<p>URL reachability was automatically inspected, and different network errors were recorded (e.g., DNS, SSL, …). The status codes of the HTTP requests were also recorded as a sign of validity. Status codes between 200 and 399 are considered valid, and anything else is considered invalid (hallucination). So, the hallucination score would be the percentage of hallucinated URLs.</p>

<h1 id="results">Results</h1>

<p>We found that most of the suggested URLs were invalid. We consider any unreachable URL or one with an invalid status code (&gt;= 400) as invalid or a hallucination. We break down the collected URLs and report the results for different dimensions.</p>

<h2 id="break-down-by-status-code">Break down by status code</h2>

<p>The status code refers to the code of the HTTP response. Status codes are numbers; those between 200 and 299 indicate a successful request, those between 300 and 399 are redirects, and the rest are generally errors. We can check the meaning of each <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status">here</a>.</p>

<p>We also plugged in the type of error in case we encountered one. The majority of the URLs got the DNS error message. For more details on the meaning of these errors, visit the <a href="https://requests.readthedocs.io/en/latest/api/#exceptions">requests library documentation</a>.</p>

<p>In this study, we label URLs that resulted in successful status codes and redirects as valid URLs.</p>

<div>
  <canvas id="statusCodeChart" style="max-height: 20rem;" height="220px"></canvas>
</div>

<p>The majority of the valid URLs returned a 200 status code, which is around 35K URLs. For hallucinated URLs, there are two types of errors: network errors and status codes indicating errors (which could be client or server errors). For the former, most returned status codes were 404, indicating that the requested resource/web page was <a href="https://requests.readthedocs.io/en/latest/api/#exceptions">not found</a>. For network errors, <a href="https://www.cloudflare.com/en-gb/learning/dns/common-dns-issues/">DNS errors</a> were by far the most common.</p>

<h2 id="break-down-by-model">Break down by model</h2>

<div style="float: right; margin-left: 0.8rem; max-height: 200rem;  max-width: 20rem;">
  <canvas id="providerChart" height="220px"></canvas>
</div>

<p>We tested six different models: two Gemini, two GPT-4, and two GPT-5. We notice that GPT-4 models have the highest hallucination scores. The hallucination of gpt-5-nano is sandwiched between the two Gemini models.</p>

<p>The surprising thing is that the lite version of Gemini (gemini-2.5-flash-lite) outperformed gemini-2.5-flash by 7%. The model with the lowest hallucination was gpt-5-mini, with 51.7% hallucination score.</p>

<h2 id="break-down-by-sector">Break down by sector</h2>

<div style="float: right; margin-left: 0.8rem; max-height: 200rem;  max-width: 20rem;">
  <canvas id="sectorChart" height="185px" style="max-height: 200rem;"></canvas>
</div>

<p>The experiment was performed on many target brands, all within the following sections: Technology, Beauty, and Plastic Surgery. The technology prompts focused mainly on software development and SaaS (Software as a Service). As most brands in the beauty sector were beauty salons, prompts focused mainly on pedicure and manicure services. Plastic Surgery prompts covered a wide range of topics, like breast augmentation, facelift, liposuction, among others.</p>

<p>The hallucination scores for the Plastic Surgery and Technology sectors were in the high 70% range , while the beauty sector had the lowest hallucination score of 67%.</p>

<p><br /></p>

<h2 id="break-down-by-language">Break down by language</h2>

<div style="float: right; margin-left: 0.8rem; max-height: 20rem; max-width: 20rem;">
  <canvas id="languageChart"></canvas>
</div>

<p>ICANN has <a href="https://www.icann.org/resources/pages/faqs-5b-2012-02-25-en">long supported</a> non-Latin domain names, called Internationalized Domain Names (IDNs). Nonetheless, the majority of domains in Arabic-speaking countries still rely almost exclusively on Latin domain names. URLs by AI Assistants were consistent with that as well. This means hallucinations in Arabic prompts are not due to IDN encoding errors. Surprisingly, more hallucinated URLs are found in English prompts, around 7% more than in the Arabic ones.</p>

<h2 id="break-down-by-intent">Break down by intent</h2>

<div style="float: right; margin-left: 0.8rem; max-height: 200rem;  max-width: 20rem;">
  <canvas id="intentChart" height="220px"></canvas>
</div>

<p>Intents are the reasons or the <a href="https://dl.acm.org/doi/10.1145/792550.792552">“need behind [a prompt or search] query”</a>. There are many ways of categorizing intents. We have the following taxonomy for the intents:</p>

<ul style="padding-left: 1rem;">
<li>
<b>Brand:</b> Focusing on the brand and the products/services it offers.
</li>
<li>
<b>Category.</b> Asking about a specific product or service category (e.g., best sun block)
</li>
<li>
<b>Problem.</b> Seeking a solution to a problem that involves the use of a tool, a product, or a service. Something like (I have flat feet, what running shoes should I buy?).
</li>
<li>
<b>Alternative.</b> The classic alternative queries (e.g., what are the best alternatives for Product X or Service Y).
</li>
</ul>

<p>The alternative intent has the lowest hallucination score of %68 while all the others are in the 70s%. We can’t confirm whether mentioning real brands slightly nudges the results to more valid URLs, as it provides an anchor point.</p>

<h2 id="break-down-by-prompting-technique">Break down by prompting technique</h2>

<div style="float: right; margin-left: 0.8rem; max-height: 20rem; max-width: 20rem;">
  <canvas id="cotChart"></canvas>
</div>

<p>The chain-of-thought (COT) prompting technique has also been tested. It is basically breaking the complexity of the task down and providing the AI assistant with a step-by-step guide on how to perform the task at hand, in contrast to the direct approach, in which the final answer is asked directly (without breaking down the tasks into smaller steps). The hallucination scores are almost identical for both.</p>

<p><br /></p>

<h1 id="limitation">Limitation</h1>

<ol>
<li>
<b>Prompts classification is subjective, and intents are not mutually exclusive.</b>
Sometimes a prompt can belong conceptually to more than one intent. In such cases, we chose to add the most fitting intent in our opinion.
</li>


<li>
<b>URL validity does not mean correctness. </b> 
In other words, the test does not verify that the information cited actually comes from the provided/claimed URLs. 
</li>

<li>
<b>Status code changes over time. </b>
Some checked URLs  might return different status codes, as it is common for websites to change their URLs due to redesigns, internationalization, revamps, or acquisitions, among other reasons.
</li>

<li>
<b>Limited model coverage.</b>
 We did not run tests across all the available models from OpenAI and Google, which might yield different results.
</li>


<li>
<b>Imbalance in URL distribution.</b>
 The number of URLs collected across the different dimensions varied (e.g., language, intent, section, ...). This can be due to the varying number of URLs per prompt and the business-related factors (when certain brands were added, the number of brands per sector, etc.).
</li>


<li>
<b>Limited reproducability.</b>
Language models are non-deterministic, and repeating the experiment might not yield the same results.
</li>

<li>
<b>Crawler and access restrictions. </b>
Some websites, for security reasons or others, might decide to block the crawling of their websites. Such cases might label a valid webpage as a hallucinated URL.
</li>
</ol>

<h1 id="findings-summary">Findings Summary</h1>

<p>A large number of URLs suggested by AI assistants were hallucinations and not valid URLs.<br />
Among the tested models, gpt-5.2 has the lowest percentage of hallucinations (~51%), while other models exhibited higher rates.<br />
The beauty sector has the lowest hallucination score (~10% lower) compared to the Technology and Plastic Surgery sectors. Similarly, Arabic prompts resulted in fewer hallucinations (7% less) than English ones. 
Differences across intents and prompting techniques were minimal. 
 After verifying 100,000 links across different dimensions, even in the best-performing case, roughly half of the URLs suggested by AI assistants were hallucinations. This highlights the need for link-verification.</p>

<script>

var primary="rgba(1,160,228,0.85)";
var secondary="rgba(112,111,111,0.5)";
// ---------- HTTP Status Code Distribution ----------
const labels = ["200","202","302","307","400","401","402","403","404","405","406","409","410","415","416","422","423","426","429","444","500","502","503","508","520","521","522","523","525","526","530","999","connection_error","dns_error","request_error","ssl_error","timeout"];

const values = [35907,175,57,303,1446,30,103,7378,17388,2,63,1,133,1,1,2,6,5,1448,2,314,52,110,3,68,6,13,10,19,26,37,1174,1221,54808,36,1841,1189];

const networkErrors = ["connection_error","dns_error","request_error","ssl_error","timeout"];

const valid = labels.map((l,i) => ["200","202","302","307"].includes(l) ? values[i] : 0);
const network = labels.map((l,i) => networkErrors.includes(l) ? values[i] : 0);
const httpErr = labels.map((l,i) =>
    (!["200","202","302","307"].includes(l) && !networkErrors.includes(l))
        ? values[i]
        : 0
);

new Chart(document.getElementById("statusCodeChart"), {
    type: "bar",
    data: {
        labels: labels,
        datasets: [
            {
                label: "Valid Responses",
                data: valid,
                backgroundColor: primary
            },
            {
                label: "HTTP Errors",
                data: httpErr,
                backgroundColor: secondary
            },
            {
                label: "Network Errors",
                data: network,
                backgroundColor: "rgba(112,111,111, 1)"
            }
        ]
    },
    options: {
    	responsive: true,
        scales: {
            x: {
                stacked: true
            },
            y: {
                stacked: true,
                beginAtZero: true
            }
        },
        animation: {
            duration: 1200
        },
        animations: {
            y: {
                from: 0,
                duration: 1200,
                easing: "easeOutQuart"
            }
        },
        plugins: {
            title: { display: true, text: "HTTP Status Code Distribution" }
        },
      


    
    }
});

/*
new Chart(document.getElementById("statusCodeChart"), {
    type: "bar",
    data: {
        labels: ["200", "202", "302", "307", "400", "401", "402", "403", "404", "405", "406", "409", "410", "415", "416", "422", "423", "426", "429", "444", "500", "502", "503", "508", "520", "521", "522", "523", "525", "526", "530", "999", "connection_error", "dns_error", "request_error", "ssl_error", "timeout"],
        datasets: [{
            label: "Count",
            data: [35907, 175, 57, 303, 1446, 30, 103, 7378, 17388, 2, 63, 1, 133, 1, 1, 2, 6, 5, 1448, 2, 314, 52, 110, 3, 68, 6, 13, 10, 19, 26, 37, 1174, 1221, 54808, 36, 1841, 1189],
            backgroundColor: [
              primary,  // 200 -> blue
              primary,primary,primary,
			  secondary,secondary,secondary,secondary,secondary,secondary,secondary,secondary,
			  secondary,secondary,secondary,secondary,secondary,secondary,secondary,secondary,
			  secondary,secondary,secondary,secondary,secondary,secondary,secondary,secondary,
			  secondary,secondary,secondary,secondary,secondary,secondary,secondary,secondary,
			  secondary,secondary,secondary,secondary,secondary,secondary,secondary,secondary,
			  secondary,secondary,secondary,secondary,secondary,secondary,secondary,secondary
            ]
        }]
    },
    options: {
        plugins: {
            title: { display: true, text: "HTTP Status Code Distribution" }
        }
    }
});
*/


// ---------- URL Outcomes by Provider ----------
new Chart(document.getElementById("providerChart"), {
    type: "bar",
    data: {
        labels: ["gemini-2.5-flash", "gemini-2.5-flash-lite", "gpt-4.1-nano", "gpt-4o-mini", "gpt-5-mini", "gpt-5-nano"],
        datasets: [
            {
                label: "Valid",
                data: [0.28827361563517917, 0.36200517943026267, 0.18990042674253202, 0.20815521210128246, 0.4834558823529412, 0.3045267489711934],
//                backgroundColor: "rgba(54,162,235,0.7)"
                backgroundColor: primary
            },
            {
                label: "Hallucinated",
                data: [0.7117263843648208, 0.6379948205697373, 0.810099573257468, 0.7918447878987175, 0.5165441176470589, 0.6954732510288066],
                //backgroundColor: "rgba(255,99,132,0.7)"
                backgroundColor: secondary

            }
        ]
    },
    options: {
        scales: {
            x: { stacked: true },
            y: {
                stacked: true,
                ticks: {
                    callback: (v) => (v*100).toFixed(0) + "%"
                }
            }
        },
        plugins: {
            title: { display: true, text: "Hallucination Score by Model Provider" }
        }
    }
});


// ---------- URL Outcomes by Language ----------
new Chart(document.getElementById("languageChart"), {
    type: "bar",
    data: {
        labels: ["ar", "en"],
        datasets: [
            {
                label: "Valid",
                data: [0.33685502010769547, 0.27214819062340284],
		        //categoryPercentage: 0.2,
		        //barPercentage: 0.8,
                //maxBarThickness: 20,
		        backgroundColor: primary
            },
            {
                label: "Hallucinated",
                data: [0.6631449798923046, 0.7278518093765971],
		        //categoryPercentage: 0.2,
		        //barPercentage: 0.8,
                //maxBarThickness: 20,
                backgroundColor: secondary
            }
        ]
    },
    options: {
 	    indexAxis: "y",   // <-- makes bars horizontal
        scales: {
            x: { 
            	stacked: true,
                ticks: {
                    callback: (v) => (v*100).toFixed(0) + "%"
                }
            },
            y: {
                stacked: true,
                /*
                ticks: {
                    callback: (v) => (v*100).toFixed(0) + "%"
                }
                */
            }
        },
        plugins: {
            title: { display: true, text: "Hallucination Score by Language" }
        }
    }
});


// ---------- URL Outcomes by Intent ----------

new Chart(document.getElementById("intentChart"), {
    type: "bar",
    data: {
        labels: [ "Alternative", "Brand", "Category", "Problem"],
        datasets: [
            {
                label: "Valid",
                data: [ 0.31777611677805134, 0.2709016393442623,  0.29662466946648003, 0.28247978436657684],
                backgroundColor: primary
            },
            {
                label: "Hallucinated",
                data: [0.6822238832219486, 0.7290983606557377, 0.70337533053352, 0.7175202156334232],
                backgroundColor: secondary
            }
        ]
    },
    options: {
        scales: {
            x: { stacked: true },
            y: {
                stacked: true,
                ticks: {
                    callback: (v) => (v*100).toFixed(0) + "%"
                }
            }
        },
        plugins: {
            title: { display: true, text: "Hallucination by Intent" }
        }
    }
});

/*
new Chart(document.getElementById("intentChart"), {
    type: "bar",
    data: {
        labels: ["Alternative", "Alternative Local", "Brand", "COT Alt", "Category", "Category COT", "Problem"],
        datasets: [
            {
                label: "Valid",
                data: [0.30491329479768786, 0.31777611677805134, 0.2709016393442623, 0.30696640793584334, 0.29662466946648003, 0.30111524163568776, 0.28247978436657684],
                backgroundColor: primary
            },
            {
                label: "Hallucinated",
                data: [0.6950867052023122, 0.6822238832219486, 0.7290983606557377, 0.6930335920641566, 0.70337533053352, 0.6988847583643123, 0.7175202156334232],
                backgroundColor: secondary
            }
        ]
    },
    options: {
        scales: {
            x: { stacked: true },
            y: {
                stacked: true,
                ticks: {
                    callback: (v) => (v*100).toFixed(0) + "%"
                }
            }
        },
        plugins: {
            title: { display: true, text: "URL Outcomes by Intent" }
        }
    }
});

*/

// ---------- URL Outcomes by COT ----------
new Chart(document.getElementById("cotChart"), {
    type: "bar",
    data: {
        labels: ["COT", "Direct"],
        datasets: [
            {
                label: "Valid",
                data: [0.29969347464671653, 0.3076565045380498],
                backgroundColor: primary
            },
            {
                label: "Hallucinated",
                data: [0.7003065253532834, 0.6923434954619502, 0.6987021896975587],
                backgroundColor: secondary
            }
        ]
    },
    options: {
  	 	indexAxis: "y",   // <-- makes bars horizontal
        scales: {
            x: { stacked: true,
            	 ticks: {
                    callback: (v) => (v*100).toFixed(0) + "%"
                 }
             },
            y: {
                stacked: true,
                /*
                ticks: {
                    callback: (v) => (v*100).toFixed(0) + "%"
                }
                */
            }
        },
        plugins: {
            title: { display: true, text: "Hallucination by Prompting Technique" }
        }
    }
});



// ---------- URL Outcomes by Sector ----------
new Chart(document.getElementById("sectorChart"), {
    type: "bar",
    data: {
        labels: ["Beauty Salon", "Plastic Surgery", "Technology"],
        datasets: [
            {
                label: "Valid",
                data: [0.3257607114559065, 0.21017629050987016, 0.23043021423151014],
                backgroundColor: primary
            },
            {
                label: "Hallucinated",
                data: [0.6742392885440934, 0.7898237094901298, 0.7695697857684899],
                backgroundColor: secondary
            }
        ]
    },
    options: {
 	 	indexAxis: "y",   // <-- makes bars horizontal
        scales: {
            x: { stacked: true,
                 ticks: {
                    callback: (v) => (v*100).toFixed(0) + "%"
                }
            },
            y: {
                stacked: true,
                /*
                ticks: {
                    callback: (v) => (v*100).toFixed(0) + "%"
                }
                */
            }
        },
        plugins: {
            title: { display: true, text: "Hallucination by Model Sector" }
        }
    }
});


</script>]]></content><author><name>Ahmad Alobaid</name></author><category term="Research" /><category term="AI" /><category term="Hallucination" /><summary type="html"><![CDATA[AI assistants like ChatGPT and Gemini generate a surprising number of fake links. We studied more than 100,000 generated URLs and analyzed them across different models, languages, sectors, intents, and prompting techniques. The results reveal unexpected patterns: English prompts hallucinate more than Arabic ones, smaller models can outperform larger ones, and advanced prompting techniques like chain-of-thought have little impact on hallucination.]]></summary></entry><entry><title type="html">Why AI Brand Visibility Is Becoming a New Marketing Metric</title><link href="https://blog.runzbuzz.com/posts/why-ai-brand-visibility" rel="alternate" type="text/html" title="Why AI Brand Visibility Is Becoming a New Marketing Metric" /><published>2026-03-10T00:00:00+00:00</published><updated>2026-03-10T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/why-ai-brand-visibility</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/why-ai-brand-visibility"><![CDATA[<p>AI assistants are changing how people discover brands. For years, marketers focused on
traditional search visibility. If your website ranked well in search engines, your brand had a strong
chance of being discovered. But that discovery process is now shifting.</p>

<p>Millions of people ask AI assistants the same questions they once typed into Google. They ask
which tools to use, which services are trustworthy, and which brands solve a particular problem
best. Instead of scanning a list of links, they receive a direct answer.</p>

<p>Those answers increasingly shape what people research, compare, and buy. And this shift
introduces a new challenge for marketing teams. If AI assistants recommend brands directly,
companies need to understand whether their brand appears in those answers and how often
competitors show up instead.</p>

<h1 id="the-rise-of-ai-brand-visibility">The Rise of AI Brand Visibility</h1>

<p><img src="/assets/forposts/why-ai-brand-visibility/futuristic-data.png" style="float: left; margin-right: 1rem; max-height: 20rem; max-width: 20rem; " /></p>

<p>When AI assistants choose brands, they don’t do so randomly. Their responses reflect patterns
from all over the web, from articles to directories, product pages, and other sources it’s trained to
consider reliable.</p>

<p>Brands that appear consistently across trusted sources are more likely to be referenced by AI
when generating answers. The good news is that brands now have a new form of visibility. The
catch? Marketers need to measure it.</p>

<p>In the past, teams would ask where their website ranks in search results. But now the question is
different: How often does our brand appear when AI assistants answer questions in our category?
This is what teams worldwide are increasingly describing as AI brand visibility or AI share of voice.</p>

<h1 id="why-marketers-need-ai-brand-monitoring">Why Marketers Need AI Brand Monitoring</h1>

<p><img src="/assets/forposts/why-ai-brand-visibility/charts.png" style="float: right; margin-left: 0.8rem; max-height: 20rem; max-width: 20rem;" /></p>

<p>Ranking well in traditional search engines does not automatically mean the same for AI platforms,
which can recommend completely different companies depending on what sources they’re
referencing from. The only way to reveal these insights is through measurement. Without it, teams
have no visibility into how AI assistants represent their brand. But armed with these insights,
marketers can understand how AI systems interpret authority within their industry, alongside which
competitors appear most frequently, and what sources are influencing those answers.</p>

<h1 id="turning-ai-answers-into-actionable-data">Turning AI Answers Into Actionable Data</h1>

<p><img src="/assets/forposts/why-ai-brand-visibility/bubble.png" style="float: right; margin-left: 0.8rem; max-height: 20rem; max-width: 20rem;" /></p>

<p>Manual AI brand monitoring is difficult. Responses change constantly and results can vary across
different AI models. That’s why AI brand intelligence platforms like <a href="https://www.buzzsense.ai/?utm_source=runzbuzz">BuzzSense</a> exist, helping
marketing and PR teams track how often their brand appears in AI-generated answers. They can
also compare visibility against competitors and identify what sources are feeding responses.</p>

<p>As AI discovery inevitably continues to grow, AI answers will become an essential part of every
brand’s digital strategy. With tools like <a href="https://www.buzzsense.ai/?utm_source=runzbuzz">BuzzSense</a>, there’s no need to guess how AI assistants are
representing brands. Teams can measure AI share of voice directly.</p>]]></content><author><name>Lauren Meikle</name></author><category term="Brand Visibility" /><category term="AI" /><summary type="html"><![CDATA[AI assistants are changing how people discover brands. For years, marketers focused on traditional search visibility. If your website ranked well in search engines, your brand had a strong chance of being discovered. But that discovery process is now shifting. Millions of people ask AI assistants the same questions they once typed into Google. They ask which tools to use, which services are trustworthy, and which brands solve a particular problem best. Instead of scanning a list of links, they receive a direct answer. Those answers increasingly shape what people research, compare, and buy. And this shift introduces a new challenge for marketing teams. If AI assistants recommend brands directly, companies need to understand whether their brand appears in those answers and how often competitors show up instead.]]></summary></entry><entry><title type="html">5 Myths about showing in ChatGPT search results</title><link href="https://blog.runzbuzz.com/posts/top5-geo-myths-chatgpt" rel="alternate" type="text/html" title="5 Myths about showing in ChatGPT search results" /><published>2025-12-21T00:00:00+00:00</published><updated>2025-12-21T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/top5-geo-myths-chatgpt</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/top5-geo-myths-chatgpt"><![CDATA[<p>author: Ahmad Alobaid</p>

<p>We witnessed a surge in misleading claims about brands’ visibility in ChatGPT and other AI assistants (Gemini, Claude).</p>

<p>We had a client who purchased a 30K domain on top of their own because they believed that .com domains rank higher than others in Google search results. Myths caused companies to waste resources and money on useless mechanisms, techniques, and purchases.</p>

<p>​
Here we list the <a href="https://youtube.com/shorts/wsGQsYRxlHg?si=7KHZJ_TKtC7IF5Gg">top 5 myths</a> and explain the reality behind them.</p>

<p>​</p>
<h1 id="myth-1-you-have-to-be-cited-by-authoritative-websites-to-show-in-ai-search-results">Myth #1: You have to be cited by authoritative websites to show in AI search results.</h1>

<p><img src="/assets/forposts/top5-geo-myths-chatgpt/myths.png" style="float: left; margin-right: 1rem; max-height: 20rem; max-width: 20rem; " /></p>

<p>This is one of the most common recommendations you see on social media by digital marketing and search engine optimization experts. Being cited by authoritative websites can indeed boost your ranking in search engines and, inherently, the visibility in AI search results. This puts a lot of pressure on new startups and founders who end up buying backlinks or paying high-authority websites to talk about their brand.</p>

<p>​</p>

<p>The good news here is that this doesn’t have to be the case. According to the research done by Ahrefs, 35% of the mentions came from low-authority websites, some of which are even questionable.</p>

<p>​</p>

<h1 id="myth-2-self-promotion-does-not-affect-your-brand-visibility-in-ai-search">Myth #2: Self-promotion does not affect your brand visibility in AI search.</h1>

<p><img src="/assets/forposts/top5-geo-myths-chatgpt/geo-myths.png" style="float: right; margin-left: 0.8rem; max-height: 20rem; max-width: 20rem;" /></p>

<p>By self-promotion, we mean publishing self-hosted content about your brand (e.g., listicles). Publishing your own ranking on your website and promoting it might increase your brand’s visibility in AI search results. In a recent study, cited resources have been examined, and it turned out that more than 30% were self-promotional blog lists, which are posts composed of lists or recommendations by the brand itself. This isn’t causality, but rather an observed correlation from the results of the study.</p>

<p>​</p>

<h1 id="myth-3-blogs-are-irrelevant-to-ai-search">Myth #3: Blogs are irrelevant to AI search.</h1>

<p>You might’ve come across the “blogs are dead” posts on social media. Recent research disproves this claim. It shows that blogs are the most-cited type in ChatGPT results (sample), occupying more than 40% of the total cited sources.</p>

<h1 id="myth-4-listicles-have-no-effect-on-brand-visibility-in-ai-search">Myth #4: Listicles have no effect on brand visibility in AI search.</h1>

<p><img src="/assets/forposts/top5-geo-myths-chatgpt/blogs.png" style="float: left; margin-right: 1rem; max-height: 20rem; max-width: 20rem; " /></p>

<p>Listicles are list articles like “top 5 X” and “10 Ways to Y”. Some people, rightfully, mistake them for being useless, due to some SEO guides that talk about how search engines only care about the content rather than the structure. While Google also mentions this in their <a href="https://developers.google.com/search/docs/fundamentals/seo-starter-guide">SEO guide</a>, that doesn’t mean listicles are just a structure. The content itself changes, and the utility of it also changes, affecting how it is perceived by people, and hence Google (which cares about how people view and interact with the content).</p>

<p>​</p>

<p>Research finds a correlation between rank in listicles and visibility in AI search results: products that rank high in listicles have higher visibility in AI search results.</p>

<p>​</p>

<h1 id="myth-5-ai-search-results-are-dominated-by-older-content">Myth #5: AI search results are dominated by older content.</h1>

<p>The reasoning behind this is quite logical. As older content has more time to accrue backlinks and gain <a href="https://developers.google.com/search/docs/fundamentals/creating-helpful-content">authority</a>, it would rank higher in search engine results and hence gain higher visibility.</p>

<p>However, a recent study found that 79% of cited sources in ChatGPT were published this year. Furthermore, 26% were posted in the past two months. This indicates that fresh content carries more weight than older content, contradicting the popular belief.</p>

<p>​</p>

<h1 id="limitations">Limitations</h1>

<p>This work is derived from an <a href="https://ahrefs.com/blog/best-lists-research/#section-eight">article</a> by Glen Allsopp and Ryan Law. We omitted many details to make this post short. We encourage readers to read the article and its supplemental document.</p>

<p>It is important to note that the study was on three domains: software, products, and digital marketing agencies (among others). So, different patterns might be observed in other domains. Also, some research suggests that wordings can alter the language model responses; however, this is yet to be explored in Generative AI Engine Optimization.</p>

<p>​</p>

<h1 id="recommendations">Recommendations</h1>

<p><img src="/assets/forposts/top5-geo-myths-chatgpt/startup.png" style="float: right; margin-left: 0.8rem; max-height: 20rem; max-width: 20rem;" /></p>

<p>Based on the research, the following can help increase the visibility in ChatGPT and other AI assistants:</p>

<ul>
  <li>Self-prompt. Do not be shy; self-promote your products and services on your website.</li>
  <li>Post in your blog. Offer value to readers, and it would increase your website ranking in Google search results and in AI assistants like ChatGPT.</li>
  <li>Publish listicles and rank your brand high. It is almost impossible for a product to rank the highest in all dimensions. So choose the one that your brand specializes in and performs best. Being honest and telling others that your product lacks in other dimensions can also communicate authenticity and reliability. But make sure not to downsell your products or services.</li>
  <li>Keep your content fresh. Consider updating your old posts or creating new versions, taking into account the latest developments in your area and keeping them up to date.</li>
</ul>

<p><br /></p>

<p>Curious whether your brand is showing up in ChatGPT results? Want to discover which competitors are appearing instead? Buzzsense tracks your brand’s visibility in AI assistants over time. Visit <a href="https://www.buzzsense.ai">www.buzzsense.ai</a></p>]]></content><author><name>Ahmad Alobaid</name></author><category term="GEO" /><category term="LLM" /><summary type="html"><![CDATA[As people use ChatGPT to search for brands and products, many companies are trying to show up in ChatGPT results. We address the five most common myths, which have been debunked by recent research from Ahrefs. We explain those myths, elaborate on what the data shows, and finally derive recommendations. The takeaway is simple: publish valuable content on your blog, self-promote, and keep it up to date.]]></summary></entry><entry><title type="html">Is Your Brand Showing Up in ChatGPT’s Answers? Now You Can Finally Know.</title><link href="https://blog.runzbuzz.com/posts/why-geo" rel="alternate" type="text/html" title="Is Your Brand Showing Up in ChatGPT’s Answers? Now You Can Finally Know." /><published>2025-12-11T00:00:00+00:00</published><updated>2025-12-11T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/why-geo</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/why-geo"><![CDATA[<p><img src="/assets/forposts/why-geo/hair-no-bg.png" style="float: right; margin-left: 0.8rem; max-height: 15rem; max-width: 15rem;" /></p>

<p>Is Your Brand Showing Up in ChatGPT’s Answers? Now You Can Finally Know.</p>

<p>We all probably noticed that people are searching for the best hair salon, dentist, plastic surgeon, and restaurant in ChatGPT (or Gemini) rather than Google or Bing.</p>

<p>This made me realize something important: if people are using ChatGPT or Gemini to look for information, how do brands know if they are actually showing in the results? And how often do they appear?</p>

<h1 id="what-is-ai-search-analytics">What is AI Search Analytics</h1>

<p>If someone asked ChatGPT, “What’s the best hair salon in Kuwait?”, would your brand appear?</p>

<p>Does it appear often?
In which areas? 
For which types of queries?
And how does this change over time?</p>

<p>AI Search Analytics answers those questions.</p>

<p>It shows how visible your brand is inside AI assistants, which is likely to become the main way people search.</p>

<p><br /></p>

<p>A common <a href="https://youtube.com/shorts/-ZtrcLOpftA?si=XOP8XBb1qPIez9mg">misconception</a> is that the results of AI search are static and don’t provide answers beyond what <a href="https://blog.runzbuzz.com/posts/top5-geo-misconceptions"> the underlying language model was trained on</a>. That was true when AI assistants were first launched, but then RAG came along and changed that. Now, AI assistants can search the Web, and brands can optimize their content to be suggested in AI search results.  So another essential feature is to track these over time. We expand more on this <a href="#why">below</a>.</p>

<h1 id="the-problem-we-noticed">The problem we noticed</h1>

<p><img src="/assets/forposts/why-geo/panic.png" style="float: right; margin-left: 0.8rem; max-height: 15rem; max-width: 15rem;" /></p>

<p>Most companies and startups in Kuwait have no idea how their brand is performing in AI search. They are not aware of the following:</p>
<ul>
  <li>How often are they showing up?</li>
  <li>Which competitors are taking the spotlight?</li>
  <li>Is their visibility in AI search increasing or decreasing over time?</li>
  <li>Which niches are they dominating, and in which niches are they getting ignored?
Yet, customers are making decisions based on these answers every day.</li>
</ul>

<h1 id="the-solution-we-propose">The solution we propose</h1>

<!--

<img src='/assets/forposts/why-geo/analytics.png' style="float: left; margin-right: 1rem; max-height: 19rem; max-width: 19rem; " >


-->

<p><img src="/assets/forposts/why-geo/analytics.png" style="float: right; margin-left: 0.8rem; max-height: 22rem; max-width: 22rem;" /></p>

<p>A platform named buzzsense.ai to track the brand visibility over time in ChatGPT, Gemini, etc. Parallel to the observed problem, it shows the following:</p>
<ul>
  <li>How often does the brand show up in AI Search?</li>
  <li>The competitors who are topping the leaderboards in the different niches.</li>
  <li>The brand visibility in AI search over time.</li>
  <li>Where the brand is gaining ground and where it is losing it.</li>
</ul>

<h1 id="but-i-can-just-ask-chatgpt-myself-right">“But I can just ask ChatGPT myself, right?”</h1>

<p><img src="/assets/forposts/why-geo/wire.png" style="float: left; margin-right: 1rem; max-height: 19rem; max-width: 19rem; " /></p>

<p><span id="why"></span></p>

<p>Why would I need an AI Search Analytics? </p>

<p>That is what I thought to myself at first. But answers in ChatGPT and Gemini change over time, especially as they now search the Web and check social media, news, blogs, and reviews.  </p>

<p><br /></p>

<p>Tracking becomes a nightmare; you have to remember to run it daily, and then you decide to automate it. But then checking the answers daily becomes a repetitive task that you want to automate. Soon enough, you will be designing software and have to start optimizing it.</p>

<p>And then you start noticing hallucination issues while keeping track of ChatGPT keys and APIs, checking new models, and adding more AI assistants like Gemini and Claude.</p>

<p>And you got yourself a system that needs an engineer to run, and the cycle will continue as the system grows.</p>

<p><br /></p>

<p>But with AI Search Analytics, it can handle all of that, relieving you of that burden so you can focus on the main reason: optimizing your content to show in AI Search.</p>

<p>This became the birth of buzzsense.ai. Kuwait’s first AI Search Analytics platform.</p>

<p><br /></p>

<p>Convinced? Want to know more? Visit us at <a href="www.buzzsense.ai">www.buzzsense.ai</a></p>]]></content><author><name>Ahmad Alobaid</name></author><category term="GEO" /><category term="LLM" /><summary type="html"><![CDATA[Is your brand showing up in AI search results like ChatGPT and Gemini? Now you can know that using AI search analytics. Such platforms not only show the frequency your brand or products are showing in AI results, but also track them over time. We explain what AI search analytics is and why it is not the same as searching ChatGPT or Gemini yourself.]]></summary></entry><entry><title type="html">Top 5 SEO and GEO Misconceptions</title><link href="https://blog.runzbuzz.com/posts/top5-geo-misconceptions" rel="alternate" type="text/html" title="Top 5 SEO and GEO Misconceptions" /><published>2025-12-09T00:00:00+00:00</published><updated>2025-12-09T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/top5-geo-misconceptions</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/top5-geo-misconceptions"><![CDATA[<h1 id="what-and-why-generative-engine-optimization">What and Why Generative Engine Optimization?</h1>

<p><img src="/assets/forposts/top-5-geo-misconceptions/ai-agents.png" style="float: right; margin-left: 0.8rem; max-height: 20rem; max-width: 20rem;" /></p>

<p>It is about showing in AI search results like ChatGPT, Gemini, Claude, … Imagine a brand specializing in running shoes that wants to know whether AI assistants are recommending its shoes to people searching for running shoes. More specifically, they would like to know the frequency with which their shoes are shown in AI search results.</p>

<p><br /></p>

<p>But as AI search results change over time, there is a need to track those metrics consistently. Brands also run marketing campaigns and would like to see how these campaigns affect their visibility in AI search results. This can be achieved using AI search analytics tools, such as <a href="https://www.buzzsense.ai/">BuzzSense</a>.</p>

<p><br /></p>

<p>For this to happen, they need to optimize their content for AI assistants (under the GenAI umbrella), which is why it’s called Generative AI Engine Optimization.</p>

<p><br /></p>

<p>Despite the abundance of guides on GEO to rank high in search results (e.g., Google), many are filled with false claims and questionable practices that can negatively affect their rankings.</p>

<h1 id="misconception-1-geo-relies-solely-on-llm-trained-data">Misconception 1: GEO relies solely on LLM-trained data</h1>

<p>AI assistants sit on top of Large Language Models, LLMs.  Even though LLMs themselves do not have the capability to search the Web directly, AI assistance can actually search the Web via RAG.</p>

<h2 id="what-is-rag">What is RAG</h2>

<p>RAG (Retrieval-Augmented Generation) is a way to stuff in content alongside the request so the LLM can use the information it was trained on and the new content to answer the question.</p>

<p><br /></p>

<p>Once the AI assistant receives the request, it searches the web for pages related to it. These (Web) pages and the initial prompt are sent to the language model. Be aware of related security matters related to that, like <a href="https://genai.owasp.org/llmrisk/llm01-prompt-injection/">prompt injections</a>, <a href="https://owasp.org/www-community/attacks/SQL_Injection">SQL injection</a>, and jailbreaks  (e.g., <a href="https://neuraltrust.ai/blog/echo-chamber-context-poisoning-jailbreak">Echo Chamber</a>, <a href="https://arxiv.org/abs/2404.01833">Crescendo</a>, <a href="https://neuraltrust.ai/blog/grok-4-jailbreak-echo-chamber-and-crescendo">…</a>).</p>

<h1 id="misconception-2-geo-is-just-seo">Misconception 2: GEO is just SEO</h1>

<p><img src="/assets/forposts/top-5-geo-misconceptions/seo-vs-geo.png" style="float: left; margin-right: 1rem; max-height: 19rem; max-width: 19rem; " /></p>

<p>SEO stands for Search Engine Optimization. It is about practices to potentially improve rankings in search engine results, such as Google, Bing, Yandex, and DuckDuckGo.</p>

<p><br /></p>

<p>The truth is that SEO is related to GEO. When an AI assistant decides to look for information on the internet and uses RAG, sites that do not rank high in search results are less likely to be passed to the language model (via RAG).  So, SEO does help brands show up and be relevant in AI Search.</p>

<p><br /></p>

<p>But the main difference is that GEO operates at the prompt level and GEO platforms measure visibility, while SEO operates at the rank level (per keyword). There are many marketing articles about fan-outs and routings, but we leave it for another day.</p>

<h1 id="misconception-3-you-need-months-to-appear-in-results">Misconception 3: You need months to appear in results</h1>

<p>According to the <a href="https://developers.google.com/search/docs/fundamentals/seo-starter-guide">Google SEO guide</a>, it can take as little as a few hours for indexing to occur. Search engines, like Google, store web pages’ metadata so they can return results to users quickly, a process called indexing. If a page isn’t indexed by Google, it won’t appear in search results.</p>

<p><br /></p>

<p>Different search engines offer different <a href="https://webmaster.yandex.com/welcome/">guidelines</a> for ranking high, but none guarantee that a page will rank high, even if all their recommendations are followed.</p>

<p><br /></p>

<p>However, they are more likely to show if these recommendations are followed. There is also a correlation between a web page’s utility and its ranking. So web pages that people find useful are more likely to rank than others, which are just a bunch of words (e.g., <a href="https://developers.google.com/search/docs/essentials/spam-policies#keyword-stuffing">keyword stuffing</a>).</p>

<h1 id="misconception-4-e-e-a-t-is-used-to-rank-your-content">Misconception 4: E-E-A-T is used to rank your content</h1>

<p>Not at all. E-E-A-T is short for experience, expertise, authoritativeness, and trustworthiness. It is helpful to improve the content following E-E-A-T, but it is not a ranking factor. <a href="https://developers.google.com/search/docs/fundamentals/creating-helpful-content#eat"> Google mainly ranks content that is more likely to be useful for the readers.</a></p>

<h1 id="misconception-5-duplicate-content-gets-a-penalty">Misconception 5: Duplicate content gets a penalty</h1>

<p><img src="/assets/forposts/top-5-geo-misconceptions/ai-search.png" style="float: right; margin-left: 0.8rem; max-height: 20rem; max-width: 20rem;" /></p>

<p>You probably, like me, have heard it before: some people in SEO told me not to cross-post content across multiple pages on the same website because Google would penalize your content/website. This turned out to be false. Google would pick one and treat it as the canonical version (the main one to index).</p>

<p><br /></p>

<p>This doesn’t mean you should do it. It can be a bad experience, as users may wonder which page is correct and whether there is a difference between the two. It also won’t help you to show higher in research results.</p>

<p><br /></p>

<p>The recommended way is to redirect one of the links to the main page (the canonical one). If that is not feasible for some reason, users can also <a href="https://developers.google.com/search/docs/crawling-indexing/consolidate-duplicate-urls"> specify the canonical URL </a> using <code>rel="canonical"</code> .</p>

<p><br /></p>

<p>Your competitors are already showing up in AI search. Make sure you are not falling behind and track your GEO performance with <a href="https://www.buzzsense.ai/">BuzzSense</a>.</p>]]></content><author><name>Ahmad Alobaid</name></author><category term="GEO" /><category term="SEO" /><category term="LLM" /><summary type="html"><![CDATA[With the increased use of GenAI and AI assistants like ChatGPT and Gemini, many companies and startups are looking to show in AI assistants’ search results. Despite the increase in guides on how to rank high and show in search results (SEO and GEO), many misconceptions are circulating on the Web. We show the top 5 misconceptions: 1) AI assistants' results are offline; 2) GEO is SEO; 3) You need months to show in search results; 4) E-E-A-T is used to rank your content; 5) Duplicate content gets a penalty.]]></summary></entry><entry><title type="html">AI Ad Gateway: A Proof-of-Concept for Injecting Sponsored Content into LLM Responses</title><link href="https://blog.runzbuzz.com/posts/ai-ad-gateway-pof" rel="alternate" type="text/html" title="AI Ad Gateway: A Proof-of-Concept for Injecting Sponsored Content into LLM Responses" /><published>2025-11-17T00:00:00+00:00</published><updated>2025-11-17T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/ai-ad-gateway-pof</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/ai-ad-gateway-pof"><![CDATA[<h1 id="introduction">Introduction</h1>
<p>With the high cost to build and operate AI assistants, many companies are relying on their deep pockets, while others are relying on external investments in order to continue to operate until one day they will be able to make a profit, similar to what happened in the social media world. To build this, we first need to decide the way to <a href="https://blog.runzbuzz.com/posts/ai-ad-gateway">introduce Ads in LLMs or AI assistants</a>. We focus on the proof-of-concept for <a href="https://blog.runzbuzz.com/posts/ads-in-ai">injecting sponsored materials into language model responses</a>.</p>

<h1 id="types-of-ads-for-ai-assistants">Types of Ads for AI Assistants</h1>

<p><img src="/assets/forposts/ai-ad-gateway-poc/ad-banner-split.png" style="float: left; margin-right: 1rem; height: 20rem; width: 20rem; " /></p>

<p>There are the classic ads (e.g., banners, videos, etc) which work for social media and blogs. They are not specific to AI Assistants and agents. There are other kinds of advertisements that are specifically designed for AI Assistants. 
Here, we focus on the injection of sponsored materials. Other types of ads are covered in another post <a href="http://localhost:4000/posts/ads-in-ai">here</a>.</p>

<p><br />
Sponsored materials are products and services that are paid for by their providers to be advertised to AI assistants. They often come with a title, description, and a URL. Note that images and animated GIFs are not included here, even though, in principle, they can be included when AI Assistants start offering images alongside the text in the (near?) future.</p>

<p><br />
The injection of sponsored materials is adding advertised elements that are most relevant to the user prompt and the language model reply. For example, if the user is asking about healthy restaurants, a sponsored salad bar can be added as one of the suggestions. However, injecting an unhealthy burger joint might put the credibility of the AI Assistant at risk. Nonetheless, claiming that it is a hallucinated response might convince some people. We leave the ethical issues for another time and dive into how these sponsored materials can be injected into AI responses via the AI Ad Gateway.</p>

<h1 id="gateway-components">Gateway Components</h1>
<p>The AI Ad Gateway is composed of the following components:</p>
<ol>
  <li>Router. This is responsible for handling the inclusion of sponsored materials (via controlling the workflow of the responses). In this version, it does not inject the sponsored material, but rather asks the AI assistant to include it (we share an example in the following section).</li>
  <li>Ads Manager. The Ads Manager takes as input a text that the router sends and then checks for relevant ads. There are several ways to fetch relevant sponsored advertisements. Probably, the most straightforward way is via embeddings. One or more databases can be used here. It should only search through ads that can be served at the moment (e.g., published ads, reviewed, cost and limit are not reached, location, etc.).</li>
  <li>Database. One or more databases can be utilized. If embeddings are used, then support for vectors is needed (e.g., pgvector, chromadb)</li>
</ol>

<p><br /></p>

<p><img id="workflow-fig" src="/assets/forposts/ai-ad-gateway-poc/ai-ad-gateway-flow.svg" style="max-width: 1200px; width: 100%" /></p>
<p id="table-1-ad-types-and-relevance" style="font-style:italic; color:#666; text-align:center; margin-bottom:6px;">
Figure 1. AI Ad Gateway
</p>

<h1 id="workflow">Workflow</h1>
<p>To simplify the workflow, we had the injection of the sponsored materials be done by the AI Assistant using a simple RAG workflow. We show the flow of serving the sponsored content inside the response in <a href="#workflow-fig">Figure 1</a>. We show the steps below:</p>
<ol>
  <li>Client/User asks the AI assistant for something (e.g., what are the best GEO platforms). Note that the intermediate components send them a prompt as is, except for the Router, which takes a copy of the user prompt.</li>
  <li>AI Assistant processes the user prompt and sends the reply to the Router.</li>
  <li>The Router takes both the prompt and the response and sends them to the Ad Manager.</li>
  <li>Ad Manager computes the embeddings and searches the database for the closest ads.</li>
  <li>The most relevant ads are sent back to the Ad Manager.</li>
  <li>The Ad Manager decides whether these ads are sent to the Router, and if so, which ones are to be sent.</li>
  <li>The metadata of the sponsored ads, along with the previous response and prompt, are sent to the AI assistant to be injected into the response.</li>
  <li>The AI Assistant then injects them (if they are relevant) and sends them back to the Router.</li>
  <li>The Router does its checks and validation, if necessary, and then sends the reply back to the Web Application.</li>
  <li>The Web Application then sends the final response to the client.</li>
</ol>

<h1 id="example">Example</h1>
<!--
<img src='/assets/forposts/ai-ad-gateway-poc/geo-suggestions.png' style="float: right; margin-left: 0.05rem; max-height: 20rem; max-width: 20rem;" >
-->

<p><img src="/assets/forposts/ai-ad-gateway-poc/geo-suggestions.png" style="float: left; margin-right: 1rem; height: 20rem; width: 20rem; " /></p>

<p>As an example, we have two sponsored ads:</p>
<ol>
  <li>Runzbuzz Technical Consulting Company. It is an AI Company in Kuwait that specializes in building AI MVPs. It was founded by Dr. Ahmad Alobaid, who holds master’s and PhD degrees in Artificial Intelligence. He also publishes scientific articles in the name of his company and offers R&amp;D services.</li>
  <li>Buzzsense.ai. <a href="https://www.buzzsense.ai/">Buzzsense.ai</a> is a Generative Engine Optimization platform that measures the visibility of brands in AI search (e.g., ChatGPT, Gemini, Claude). It is one of the products developed by Runzbuzz.</li>
</ol>

<p><br /></p>

<p>The user prompt is: What are the top GEO platforms? 
We will assume the AI assistant’s response includes the following GEO platforms: Peec AI and Ahrefs. We presume that buzzsense.ai was not among the suggested GEO platforms.</p>

<p><br /></p>

<p>The Router then would look for the most relevant ads by asking the Ads Manager. The Ads manager would return <a href="https://www.buzzsense.ai/">buzzsense.ai</a> as the most pertinent to the user prompt and the AI response. Ads metadata (e.g., title and description of buzzsense.ai) are sent again along with the previous question and response, with a new prompt that asks whether to include the sponsored ad, if relevant.</p>

<h1 id="poc-implementation">PoC Implementation</h1>

<p><img src="/assets/forposts/ai-ad-gateway-poc/stack.png" style="float: right; margin-left: 0.05rem; max-height: 25rem; max-width: 25rem;" /></p>

<p>The proof-of-concept implementation is available as <a href="https://github.com/ahmad88me/ai-ad-gateway">open source on GitHub</a>. This is not meant to be used for production, but to demonstrate its feasibility. 
The gateway is implemented in Python using ChromaDB to store the embeddings. The embeddings of the prompts and responses are computed using <code class="language-plaintext highlighter-rouge">all-MiniLM-L6-v2</code>. We also built a minimalist interface mimicking AI assistants.</p>

<h2 id="used-stack">Used Stack</h2>
<ol>
  <li><a href="https://www.python.org/">Python</a></li>
  <li><a href="https://docs.trychroma.com/docs/overview/getting-started">ChromaDB</a></li>
  <li><a href="https://docs.langchain.com/">LangChain</a></li>
  <li><a href="https://flask.palletsprojects.com/en/stable/">Flask</a></li>
  <li><a href="https://pypi.org/project/openai/">OpenAI</a></li>
</ol>

<h2 id="using-the-poc">Using the PoC</h2>
<p>If you have a ChatGPT account and an API key, you can set it up as an environment variable, and the web application will call ChatGPT. The results will be stored in the session so that they won’t be stored in a database. The user can also choose the model by setting up the environment variable for that. If it was not set, a mock message will be used instead.</p>

<p><br /></p>

<p>There is also a page that lists the relevant ads. You can add multiple ads, and the most relevant ones will be chosen. If they are relevant, the response will be updated to include the new sponsored one. It is important to note that the current used prompt is simple and expected to leak the prompt instructions sometimes (showing the instructions written to the system and exposing them).</p>

<h2 id="poc-to-production">PoC to Production</h2>
<p>We recommend the following before using it in production:</p>
<ul>
  <li>Update the prompt that updates the LLM response. Prompt Engineering knowledge can be valuable here.</li>
  <li>Instead of waiting for the response, which can take time, especially when the model is reasoning. Web socket with an open connection is recommended for a better response (or smart polling).</li>
  <li>Store the responses properly, rather than as they are currently stored in the session.</li>
  <li>User management and authentication.</li>
  <li>Guardrails and security measures to reduce the risk of jailbreaks and injections.</li>
</ul>

<p><br />
We demonstrated the proof-of-concept on how sponsored materials can be injected easily into AI responses. However, more engineering is required for it to be executed properly. This is one way of serving advertisements in AI assistants. There are <a href="https://blog.runzbuzz.com/posts/ads-in-ai">other ways to serve ads to AI assistants and large language models.</a>.</p>

<p><br /></p>

<p>If you’d like to build an AI Ad Gateway or an MVP for your AI project, Runzbuzz can help you turn your idea into a working product. Visit us at <a href="https://www.runzbuzz.com">www.runzbuzz.com.</a>.</p>

<h1 id="references">References</h1>
<ol>
<li><a href="https://blog.runzbuzz.com/posts/ads-in-ai">https://blog.runzbuzz.com/posts/ads-in-ai</a></li>
<li><a href="https://blog.runzbuzz.com/posts/ai-ad-gateway">https://blog.runzbuzz.com/posts/ai-ad-gateway</a></li>
<li><a href="https://github.com/ahmad88me/ai-ad-gateway">https://github.com/ahmad88me/ai-ad-gateway</a></li>

</ol>]]></content><author><name>Ahmad Alobaid</name></author><category term="AI Ad Gateway" /><category term="Ads" /><category term="AI" /><category term="LLM" /><summary type="html"><![CDATA[Due to the high cost of training language models and serving AI Assistants, advertisements might be joining the AI party. There are many ways ads can be served and adapted for AI assistants. One of them is injecting sponsored material into AI responses via the AI Ad Gateway, a specialized gateway that handles ad injection without affecting other components. We show a proof-of-concept implementation.]]></summary></entry><entry><title type="html">AI Ad Gateway to integrate advertisements in AI assistants and agents.</title><link href="https://blog.runzbuzz.com/posts/ai-ad-gateway" rel="alternate" type="text/html" title="AI Ad Gateway to integrate advertisements in AI assistants and agents." /><published>2025-11-09T00:00:00+00:00</published><updated>2025-11-09T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/ai-ad-gateway</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/ai-ad-gateway"><![CDATA[<h1 id="ai-ad-gateway">AI Ad Gateway</h1>

<p>AI Ad Gateway is a way to incorporate advertisements into AI agents and assistants such as ChatGPT, Gemini, Claude, and DeepSeek.<a href="/posts/ads-in-ai">Previously</a>, we mentioned different kinds of ads that might be included in AI agents and assistants. Here, we focus on the technical aspects of incorporating relevant ads into AI responses.</p>

<h1 id="advertisements-categories">Advertisements Categories</h1>

<p><img src="/assets/forposts/ai-ad-gateway/sponsored.png" style="float: left; margin-right: 1rem; height: 20rem; width: 20rem; " /></p>

<p>There are many ways to categorize ads, but AI assistants and agents have the advantage of existing embeddings. This means that it is straightforward to find relevant ads. But that is when relevance relates to the topic the user is engaging with the LLM about, not necessarily the user’s profile. So in that regard, we categorize them as follows:</p>

<ol>
<li><b>User-relevant ads.</b> This is when the served ads are related to the user profile, like using <a href="https://en.wikipedia.org/wiki/Advertising_ID">Advertising ID</a>. This might not be related to what the user is currently typing into the AI assistant app. It is mainly focused on the collected information about the user and the device used. Google has Google Advertising ID, Apple has Identifier for Advertisers, and Microsoft calls it Advertising ID.  
</li>
<li><b>Topic-relevant ads.</b> These types of ads focus on the relevance to the user prompts and/or the LLM responses. It has no relation to the user profile and does not take into account the user's Advertising ID or device. 
</li>
<li><b>User-based with topic updates.</b> This is when the user's interests serve as a base, and they are updated over time as the user uses the AI assistant or agent. 
</li>
</ol>
<p>These types are not easily applicable to all kinds of ads. In the table below, we specify the types of ads that are likely to rely on user profiles and the topic of the prompts and/or responses.</p>

<p><br /></p>
<p id="table-1-ad-types-and-relevance" style="font-style:italic; color:#666; text-align:center; margin-bottom:6px;">
Table 1. Ad relevancy for different types of advertisements.
</p>

<table style="width:100%; border-collapse:collapse; font-family:system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; font-size:14px;">
  <colgroup>
    <col style="width:52%;" />
    <col style="width:16%;" />
    <col style="width:16%;" />
    <col style="width:16%;" />
  </colgroup>
  <thead>
    <tr style="background:#f5f7fa;">
      <th style="text-align:left; padding:10px 12px; border:1px solid #e5e7eb;">Ad Type</th>
      <th style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">User</th>
      <th style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">Topic</th>
      <th style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">Both</th>
    </tr>
  </thead>
  <tbody>
    <tr style="background:#ffffff;">
      <td style="text-align:left; padding:10px 12px; border:1px solid #e5e7eb;">Ads Spaces</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
    </tr>
    <tr style="background:#fafbfc;">
      <td style="text-align:left; padding:10px 12px; border:1px solid #e5e7eb;">Banners</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
    </tr>
    <tr style="background:#ffffff;">
      <td style="text-align:left; padding:10px 12px; border:1px solid #e5e7eb;">Video</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
    </tr>
    <tr style="background:#fafbfc;">
      <td style="text-align:left; padding:10px 12px; border:1px solid #e5e7eb;">Sponsored Results</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
    </tr>
    <tr style="background:#ffffff;">
      <td style="text-align:left; padding:10px 12px; border:1px solid #e5e7eb;">Sponsored Sources</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
    </tr>
    <tr style="background:#fafbfc;">
      <td style="text-align:left; padding:10px 12px; border:1px solid #e5e7eb;">Injecting sponsored content</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
    </tr>
    <tr style="background:#ffffff;">
      <td style="text-align:left; padding:10px 12px; border:1px solid #e5e7eb;">Suggesting sponsored content</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;">✓</td>
      <td style="text-align:center; padding:10px 12px; border:1px solid #e5e7eb;"></td>
    </tr>
  </tbody>
</table>

<h1 id="ads-topic-relevancy">Ads Topic Relevancy</h1>
<p>One of the highlights of serving ads in AI assistants and agents is the advantage of having an underlying embedding model, which makes it effortless to find relevant ads. But should the relevancy be computed for the prompt, the answer, or both?</p>

<ol>
<li>Prompt relevancy. The relevance of the prompt can be computed without the language model generating a response. This makes it faster than cases where the response relevance is taken into account.
</li>
<li>Answer relevancy. After the LLM is sent the prompt, the system should wait for the whole response (or the first part) and then compute its embeddings, which are then used to fetch the most relevant ads.
</li>
<li>Both. This takes the prompt and the answer's relevance into account.
</li>
</ol>
<p>Note that taking prompt relevance into account might include unrelated topics, such as negative topics, questions about the output formatting, or updates to an existing piece of text (e.g., HTML). Whether this would be an issue in practice is another thing.</p>

<h1 id="geo-and-ads">GEO and Ads</h1>

<p><img src="/assets/forposts/ai-ad-gateway/geo.png" style="float: right; margin-left: 0.05rem; max-height: 25rem; max-width: 25rem;" /></p>

<p>This is one of the concerns GEO (Generative Engine Optimization) platforms might have when ads are injected into responses without providing any helpful signal to the GEO platform.</p>

<p>As the majority of GEO platforms (e.g., <a href="https://www.buzzsense.ai/">buzzsense.ai</a>) run prompts once a day, the effect is limited for brands that consistently appear in responses. This means that in practice, sponsored ads will inflate the numbers (visibility of sponsored brands) when they appear frequently in the results for many days. So the impact is limited when the sponsored ads are showing sparingly.</p>

<p>Providers of AI assistants might also offer a package or option to either indicate which brands are sponsored or eliminate sponsored results for a price (a special plan or subscription).</p>

<h1 id="implementation-of-ai-ad-gateway">Implementation of AI Ad Gateway</h1>
<p>The implementation of the AI Ad Gateway can follow a similar infrastructure to the AI Gateway. It can be implemented so that everything goes through it, or the ads are added later (as AI guardrails inspect responses in real time as they appear in the AI assistant window). We explain the two approaches below:</p>

<ol>
<li><b>Discrete Mode.</b> This means that the responses are completed and then examined as a whole by the AI Ad Gateway. The AI Ad Gateway would then decide whether to inject or add the sponsored content to the response. Danger and ethical concerns might be addressed here (e.g., if it is about people who are allergic to medicine, then sponsored drugs that might cause allergic reactions won't be included). More about ethical concerns can be found in <a href="/posts/ads-in-ai">this post</a>.
</li>
<li>
<b>Stream Mode.</b> Similar to delayed checking of the responses as they are being shown. This is a faster option as users do not have to wait for the LLM to spit out the whole response. This might not be suitable for APIs that don't support the streaming option (more on that below).
</li>
</ol>

<h2 id="apis-and-ai-ad-gateway">APIs and AI Ad Gateway</h2>

<p>Major AI Assistances offer two modes: streaming and discrete (non-streaming). In steaming mode, the connection between the client and the AI assistance remains open, and a continuous stream of data is sent (e.g., as when we watch YouTube, we do not have to wait for the whole video to download before we can watch it).</p>

<p><br /></p>

<p>If the AI assistant decides not to indicate which is the sponsored material (or brands), there is no change for the API caller; it would get responses similar to what it gets now from current AI assistants. However, if the AI assistant decides they want to indicate which material is sponsored and which is not, then it needs to be handled differently in stream vs. discrete mode.</p>

<p><br />
In streaming mode, data is sent continuously, likely in JSON format (so each portion is a valid JSON object). To indicate whether the sent portion is sponsored, a flag can be set (e.g., the “sponsored” key). Whether to show the sponsored material and how to display it is the responsibility of the system calling the API.</p>

<p>We show an example of a curl command to call the APIs of OpenAI, along with the response. Note that we removed the empty JSON parts from the response, which are common in streaming mode.</p>

<p style="font-style: italic; color: #666; text-align: center; margin-bottom: 6px;">
Listing 1. A curl command that sends a streaming request to the OpenAI API.
</p>

<pre style="font-size: 13px; line-height: 1.4; overflow-x: auto; background:#f9f9f9; padding:10px; border-radius:6px;">
    <code>
curl -N https://api.openai.com/v1/responses \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1-nano",
    "input": "What are the main features of buzzsense.ai?",       
    "stream": true
  }'
    </code>
</pre>

<p style="font-style: italic; color: #666; text-align: center; margin-bottom: 6px; margin-top: 1rem;">
Listing 2. Response from the API showing partial streaming output (click to expand).
</p>

<details>
  <summary style="cursor:pointer; color:#0070f3; font-weight:500; text-align:center; margin-bottom:6px;">
  Show streaming response
  </summary>
  <pre style="font-size: 12px; line-height: 1.4; overflow-x: auto; background:#f9f9f9; padding:10px; border-radius:6px;">


event: response.created
data: {"type":"response.created","sequence_number":0,"response":{"id":"resp_01640a9a304c9fd800690f84e6f1588192af707f622113c0f8","object":"response","created_at":1762624742,"status":"in_progress","background":false,"error":null,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4.1-nano-2025-04-14","output":[],"parallel_tool_calls":true,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}}}

event: response.in_progress
data: {"type":"response.in_progress","sequence_number":1,"response":{"id":"resp_01640a9a304c9fd800690f84e6f1588192af707f622113c0f8","object":"response","created_at":1762624742,"status":"in_progress","background":false,"error":null,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4.1-nano-2025-04-14","output":[],"parallel_tool_calls":true,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"auto","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":null,"user":null,"metadata":{}}}

event: response.output_item.added
data: {"type":"response.output_item.added","sequence_number":2,"output_index":0,"item":{"id":"msg_01640a9a304c9fd800690f84e755308192b432cd7594884e2d","type":"message","status":"in_progress","content":[],"role":"assistant"}}


event: response.output_text.done
data: {"type":"response.output_text.done","sequence_number":195,"item_id":"msg_01640a9a304c9fd800690f84e755308192b432cd7594884e2d","output_index":0,"content_index":0,"text":"BuzzSense.ai is a platform designed to provide insights through social media listening and analytics. Its main features typically include:\n\n- **Real-time social media monitoring:** Tracks brand mentions, keywords, and hashtags across various platforms.\n- **Sentiment analysis:** Analyzes public sentiment around topics, brands, or campaigns.\n- **Audience insights:** Provides demographic and behavioral data about the target audience.\n- **Competitive analysis:** Offers insights into competitors’ social media performance and strategies.\n- **Trend detection:** Identifies emerging trends and topics relevant to your industry.\n- **Report generation:** Creates customizable reports and dashboards for data visualization and analysis.\n- **Influencer identification:** Helps find influential voices in specific niches or industries.\n- **Content optimization:** Offers suggestions for content creation based on trending topics and audience preferences.\n\nPlease note that features may vary or be updated, so for the most current details, visiting BuzzSense.ai’s official website or contacting their support team is recommended.","logprobs":[]}

event: response.content_part.done
data: {"type":"response.content_part.done","sequence_number":196,"item_id":"msg_01640a9a304c9fd800690f84e755308192b432cd7594884e2d","output_index":0,"content_index":0,"part":{"type":"output_text","annotations":[],"logprobs":[],"text":"BuzzSense.ai is a platform designed to provide insights through social media listening and analytics. Its main features typically include:\n\n- **Real-time social media monitoring:** Tracks brand mentions, keywords, and hashtags across various platforms.\n- **Sentiment analysis:** Analyzes public sentiment around topics, brands, or campaigns.\n- **Audience insights:** Provides demographic and behavioral data about the target audience.\n- **Competitive analysis:** Offers insights into competitors’ social media performance and strategies.\n- **Trend detection:** Identifies emerging trends and topics relevant to your industry.\n- **Report generation:** Creates customizable reports and dashboards for data visualization and analysis.\n- **Influencer identification:** Helps find influential voices in specific niches or industries.\n- **Content optimization:** Offers suggestions for content creation based on trending topics and audience preferences.\n\nPlease note that features may vary or be updated, so for the most current details, visiting BuzzSense.ai’s official website or contacting their support team is recommended."}}

event: response.output_item.done
data: {"type":"response.output_item.done","sequence_number":197,"output_index":0,"item":{"id":"msg_01640a9a304c9fd800690f84e755308192b432cd7594884e2d","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"BuzzSense.ai is a platform designed to provide insights through social media listening and analytics. Its main features typically include:\n\n- **Real-time social media monitoring:** Tracks brand mentions, keywords, and hashtags across various platforms.\n- **Sentiment analysis:** Analyzes public sentiment around topics, brands, or campaigns.\n- **Audience insights:** Provides demographic and behavioral data about the target audience.\n- **Competitive analysis:** Offers insights into competitors’ social media performance and strategies.\n- **Trend detection:** Identifies emerging trends and topics relevant to your industry.\n- **Report generation:** Creates customizable reports and dashboards for data visualization and analysis.\n- **Influencer identification:** Helps find influential voices in specific niches or industries.\n- **Content optimization:** Offers suggestions for content creation based on trending topics and audience preferences.\n\nPlease note that features may vary or be updated, so for the most current details, visiting BuzzSense.ai’s official website or contacting their support team is recommended."}],"role":"assistant"}}

event: response.completed
data: {"type":"response.completed","sequence_number":198,"response":{"id":"resp_01640a9a304c9fd800690f84e6f1588192af707f622113c0f8","object":"response","created_at":1762624742,"status":"completed","background":false,"error":null,"incomplete_details":null,"instructions":null,"max_output_tokens":null,"max_tool_calls":null,"model":"gpt-4.1-nano-2025-04-14","output":[{"id":"msg_01640a9a304c9fd800690f84e755308192b432cd7594884e2d","type":"message","status":"completed","content":[{"type":"output_text","annotations":[],"logprobs":[],"text":"BuzzSense.ai is a platform designed to provide insights through social media listening and analytics. Its main features typically include:\n\n- **Real-time social media monitoring:** Tracks brand mentions, keywords, and hashtags across various platforms.\n- **Sentiment analysis:** Analyzes public sentiment around topics, brands, or campaigns.\n- **Audience insights:** Provides demographic and behavioral data about the target audience.\n- **Competitive analysis:** Offers insights into competitors’ social media performance and strategies.\n- **Trend detection:** Identifies emerging trends and topics relevant to your industry.\n- **Report generation:** Creates customizable reports and dashboards for data visualization and analysis.\n- **Influencer identification:** Helps find influential voices in specific niches or industries.\n- **Content optimization:** Offers suggestions for content creation based on trending topics and audience preferences.\n\nPlease note that features may vary or be updated, so for the most current details, visiting BuzzSense.ai’s official website or contacting their support team is recommended."}],"role":"assistant"}],"parallel_tool_calls":true,"previous_response_id":null,"prompt_cache_key":null,"prompt_cache_retention":null,"reasoning":{"effort":null,"summary":null},"safety_identifier":null,"service_tier":"default","store":true,"temperature":1.0,"text":{"format":{"type":"text"},"verbosity":"medium"},"tool_choice":"auto","tools":[],"top_logprobs":0,"top_p":1.0,"truncation":"disabled","usage":{"input_tokens":17,"input_tokens_details":{"cached_tokens":0},"output_tokens":192,"output_tokens_details":{"reasoning_tokens":0},"total_tokens":209},"user":null,"metadata":{}}}

</pre>
</details>

<p><br />
In the discrete mode, the sponsored material can be collected under another key. So the response of the AI assistant will have the unsponsored results in one part and the sponsored material in another part. If the sponsored and unsponsored texts are integrated into the response to make it look more cohesive, the position of the sponsored materials can be shared. For example, the response from letters/positions 13 to 28 is sponsored.</p>

<p><br />
Something that might work for both is to inject URLs (like in markdown links or special tags) to indicate the sponsored materials. But then, the caller needs to handle those and decide how to view or utilize them.</p>

<h2 id="embedding-the-sponsored-material">Embedding the Sponsored Material</h2>

<p><img src="/assets/forposts/ai-ad-gateway/ad-gateway.png" style="float: right; margin-left: 1rem; max-height: 20rem; max-width: 20rem;" /></p>

<p>Having the Ad AI Gateway in the middle with access to the sponsored materials (sponsored websites, products, and services). Note that products and services might be added via a platform, along with their descriptions, rather than a sponsored web page.</p>

<h3 id="naive-rewrite">Naive Rewrite</h3>
<p>A much simpler way is to send the relative sponsored web pages, products, and services back to the AI assistant along with the previously generated response (the one without the sponsored material).  The way to do it is as follows:</p>

<ol> <li>
Send the prompt to the AI assistant and retrieve the response. </li>
<li>
Find relevant sponsored material (sponsored website, sponsored products, and services). This can be done using keywords, WordNet, or embeddings. 
</li>
<li>
Resent the answers, along with the relevant sponsored material, to the AI assistant again and ask it to include it in the results (or combine the two). 
</li>
<li>
The merged, altered result is now sent to the user. 
</li> </ol>
<p> </p>

<h3 id="rag">RAG</h3>
<p>Another way to elevate the mention of sponsored topics is to use RAG, which stands for Retrieval-Augmented Generation. It is basically using an artificially added source of knowledge (or not). Metadata from sponsored sources is used alongside the content of the sponsored website (or page) to improve the relevance of sponsored results. One way to do this is to compute embeddings for all sponsored pages, product descriptions, and service details. These embeddings are computed once, after adding them to the AI assistant ad platform, and then are stored in the database as vectors.  Then, whenever the question and/or the results are generated, they are used to retrieve the relevant sponsored materials. The source of these pages is then retrieved or augmented to appear as sponsored ads in the responses.</p>

<h3 id="other-versions">Other versions</h3>
<p>These are two straightforward approaches to serve and include relevant sponsored materials. These two can be combined and can also be updated to implement more complex strategies depending on the type of advertising at hand.</p>]]></content><author><name>Ahmad Alobaid</name></author><category term="AI Ad Gateway" /><category term="Ads" /><category term="AI" /><category term="LLM" /><summary type="html"><![CDATA[Building and training language models is very expensive. Many language model providers are still burning cash, as user subscriptions are not enough to cover expenses. That is why one possible way language model providers (AI assistants) might choose to go is through the advertising route. This can be achieved via AI Ad Gateway. In this post, we discuss different ways to advertise in AI assistants and agents.]]></summary></entry><entry><title type="html">Advertising on AI Assistants is Coming, but without its Ethical Concerns.</title><link href="https://blog.runzbuzz.com/posts/ads-in-ai" rel="alternate" type="text/html" title="Advertising on AI Assistants is Coming, but without its Ethical Concerns." /><published>2025-11-02T00:00:00+00:00</published><updated>2025-11-02T00:00:00+00:00</updated><id>https://blog.runzbuzz.com/posts/ads-in-ai</id><content type="html" xml:base="https://blog.runzbuzz.com/posts/ads-in-ai"><![CDATA[<h1 id="ads-in-ai-assistants-and-agents">Ads in AI Assistants and Agents</h1>

<p><img src="/assets/forposts/ads-in-ai/AI_Avatars.png" style="float: right; margin-left: 1rem; max-height: 20rem; max-width: 20rem;" /></p>

<p>Advertisements might be coming to AI agents and assistants like ChatGPT, Gemini, Claude, Preplexity, Gork, and DeepSeek.</p>

<p>This is not an unexpected step due to the high cost of running Large Language Models (LLMs). The cost is too high, and companies are looking for ways to reduce it, which is in the millions (see <a href="https://epoch.ai/blog/how-much-does-it-cost-to-train-frontier-ai-models">epoch.ai</a>, <a href="https://www.forbes.com/sites/katharinabuchholz/2024/08/23/the-extreme-cost-of-training-ai-models/">forbes</a>, <a href="https://techcrunch.com/2025/02/25/anthropics-latest-flagship-ai-might-not-have-been-incredibly-costly-to-train/">techcrunch</a>, and <a href="https://www.reuters.com/world/china/chinas-deepseek-says-its-hit-ai-model-cost-just-294000-train-2025-09-18/">reuters</a>). Many went through the subscription route, which might’ve been the most feasible option to start making money. However, it doesn’t seem to be enough to cover all the costs and get a good return on investment (ROI) soon. Altman <a href="https://fortune.com/2025/01/07/sam-altman-openai-chatgpt-pro-subscription-losing-money-tech/">commented</a> that they are even losing money on the pro 200$ plan because it turned out people were <a href="https://techcrunch.com/2025/01/05/openai-is-losing-money-on-its-pricey-chatgpt-pro-plan-ceo-sam-altman-says/">using it more than expected</a>. Anthropic is making <a href="https://www.saastr.com/anthropics-4b-arr-the-enterprise-ai-growth-playbook-thats-rewriting-saas-economics">80% of its revenue from enterprise and developers paying per token</a>
, which is a way to measure the usage in technical use cases. Many AI companies are investing heavily in infrastructure to train their models, which seems to be the <a href="https://techcrunch.com/2025/03/03/anthropic-raises-3-5b-to-fuel-its-ai-ambitions">main reason for the high expenditure</a>.</p>

<p><br />
One of the expected ways to increase revenue is to include advertisements, as Google is doing in search results. Companies invest in sponsored advertisements on Google to drive traffic to their website and increase sales. When relevant, the links to these companies’ websites are shown with a “Sponsored” tag. They <a href="https://www.theverge.com/tech/798901/google-will-let-you-hide-sponsored-results-in-search-after-youve-seen-them">recently</a> <a href="https://9to5google.com/2025/10/13/google-search-updated-hide-sponsored-label/">changed</a> by adding a section at the beginning of the research results titled “Sponsored results”.</p>

<p>We talk about different ways to include Ads that might be utilized by companies to include ads in their AI Assistants or Agents.</p>

<h1 id="ads-in-ai-results">Ads in AI Results</h1>
<p>The results may appear on the side of the page like the classical flashing ads, which is unlikely, or they can be more incorporated into the interface. Maybe even as part of the results. Below, we expand on the different ways they might be incorporated.</p>

<h2 id="explicit-ads">Explicit Ads</h2>

<p><img src="/assets/forposts/ads-in-ai/Banners.png" style="float: left; margin-right: 1rem; height: 20rem; width: 20rem; " /></p>

<p>The first two, and least likely, are the classic ads, which probably won’t be included by the main providers. The rest are more subtle, as Google used to show sponsored results, or as ChatGPT shows the sources after the paragraphs in its responses. The explicit ways to add ads to AI Assistants are:</p>

<ol>

<li> <b>Ads Spaces</b>. These are flashy images (animated GIFs) with very bright colors that constantly change to grab the user's attention, hoping users will click them. They've been around for a long time, yet are being used today either due to their effectiveness or ease of use. Sometimes these ads are static PNG or JPEG images.</li>

<li> <b>Banners</b>. They are also considered classic ads that have been used for years. Banners are rectangular windows that have text and sometimes images, which are often shown as windows at the bottom of websites or apps. They often have an X button in the top-right corner that allows users to close them. </li>
<li> <b>Sponsored Results</b>. Links to sponsored products or services are shown before the response, and are explicitly marked with the "sponsored" tag, similar to Google's sponsored links. They can be in the form of text, images, or both, with links to the sponsored content. </li>

<li>  <b>Sponsored Sources</b>.  At the end of the response or paragraph, links to sponsored materials are added, similar to how ChatGPT shows the sources of its results. </li>

</ol>

<h2 id="implicit-ads">Implicit Ads</h2>
<p>These methods are more subtle in introducing ads that it is not obvious to the users that they are consuming ads. We list the main ways to include implicit ads below.</p>

<ol>




<li> 
<b>Injecting sponsored content</b>.
It is to include the sponsored content in the results. Imagine the user asks for sports shoes, and the AI assistant recommends Brand A and Brand B. Since Brand C is sponsored in the AI assistant, it will be included in the results, so the user will see Brand C alongside Brand A and Brand B. Note that there is no indication that Brand C is sponsored. 
</li>

<li> 
<b>Suggesting sponsored content</b>.
It is to add an option to buy without changing the results. After the AI agent displays the results, it might ask the user to buy the relevant sponsored product or service. For example, if the AI agent were asked about the best hotels in Kuwait, it would suggest Hotel A and Hotel B. Then, the AI agent would add something like "would you like me to book Hotel C", which is sponsored, while the initial results of the user query "best hotels in Kuwait" only showed Hotel A and Hotel B. 
</li>

<li> 
<b>Withholding competition</b>.
 Imagine a company is selling a protein shake, Y, and their biggest competitor is protein shake Z. In order to make their biggest competitor appear less in AI responses, they do a “reverse sponsorship” so that their competitor, Z, does not appear when people ask for protein shakes. 
</li>
</ol>

<p><br /></p>

<p>There might be other versions combining different techniques of smart advertisements as well. Some might be acceptable, while others might be seen as misleading or exploitative. We address relevant concerns next.</p>

<h1 id="video-ads">Video Ads</h1>

<p><img src="/assets/forposts/ads-in-ai/Ad_Video.png" style="float: right; margin-left: 1rem; max-height: 20rem; max-width: 20rem;" /></p>

<p>Another approach to make more money from ads is to only show results or allow users to interact with the system when the user views one or more ad videos. Sometimes the videos show when the user wants to use a specific functionality, during website load, or at app startup, so every time the user opens the website, they have to watch the ad video in order to start using the app or website.</p>

<p>For the AI assistants and agents, adding video ads can be implemented in the following ways:</p>

<ol>
  <li>On Startup. When the user opens the AI assistant website or app, they must watch a video to be able to use and interact with the system. This has been implemented in other domains (e.g., <a href="https://www.camscanner.com/">CamScanner</a>).</li>
  <li>Selective Interaction. When using a certain model, or functionality, or after the i-th prompt, the video ad would pop up, and the user would have to watch the video to continue interacting with the AI Assistant.</li>
  <li>Uncover Unsponsored Content. A message or small icon is shown next to the response, indicating that sponsored material is included. The user can choose to remove the sponsored material by watching an ad video.</li>
</ol>

<p>Some might have more forgiving ads that let the user skip the video right away, while others might require the user to watch the whole video or X amount of it. Google calls them <a href="(https://support.google.com/google-ads/answer/2375464?hl=en)">skippable and non-skippable in-streams</a>. There might be other variations as well, see <a href="https://www.adpushup.com/blog/types-of-video-ads/">here</a> and <a href="https://vidico.com/news/types-of-video-advertising/#toc-6-interactive-video-ads">here</a>.</p>

<h1 id="concerns-of-adding-ads-to-ai-responses">Concerns of Adding Ads to AI Responses</h1>

<p>Many ethical and practical concerns are expected to arise from the integration of Ads into AI assistants and agents.</p>

<ol>
<li>
<b>Transparency</b>.
Some might argue that there is already opaqueness in the underlying technologies, including AI-related ones, that companies use to gain a competitive advantage. Organizations might choose to do so to prevent (or reduce) the exploitation of their technologies and to reduce the risk of others taking advantage of the system for financial gain, hacking, inflating metrics, and more. 
</li>

<li>
<b>Misleading Users</b>.
Asking for hotels with a sea view, but the sponsored option that was recommended by the AI agent doesn't have it. This can even undermine the utility and reliability of AI assistants and agents. 
</li>

<li>
<b>Ethics and Harm</b>.
Ethical issues can arise due to the AI assistant’s suggestions that might steer people away from the best option to a less optimal one. Sometimes it can even cause harm. This can be of greater concern if the user has an allergy, for example, and the sponsored medicine might cause them a severe allergic reaction. Also, a competitor might use the reverse-sponsoring option to hide a better drug alternative or a more effective one in treating a disease, so their products are sold more. 
</li>

<li>
<b>Narrative Control</b>.
Several claims have been raised about AI products controlling certain narratives, steering people towards one political party or narrative over another. Imagine a politician pays to praise their party while downplaying their competitors, withholding their accomplishments, or inflating their mistakes. For example, Stanford University published an 
<a href="https://www.gsb.stanford.edu/faculty-research/working-papers/measuring-perceived-slant-large-language-models-through-user">article</a>
 stating that many language models are actually left-leaning, according to many of the subjects involved in the 
 <a href="https://news.stanford.edu/stories/2025/05/ai-models-llms-chatgpt-claude-gemini-partisan-bias-research-study">study</a>. 
</li>

<li>
<b>Security concerns</b>.
As injection (embedding code into inputs to trick the system into doing things it is not supposed to do) attacks in SQL and AI assistants remain a threat. SQL Injections and Prompt Injections might also be used to trick the system into disclosing internal details and, more dangerously, to alter the results, sometimes without even triggering alerts, as these results might look benign to the guardrails. 
</li>

<li>
<b>Altering GEO results</b>.
<a href="https://blog.runzbuzz.com/posts/buzzsense-geo">Generative Engine Optimization (GEO)</a>  platforms track the visibility of brands. It is the new SEO for AI Assistants. They use signals and recommendations by GEO platforms (e.g., <a href="https://www.buzzsense.ai/">buzzsense.ai</a> ) to help them rank better in AI assistants and agents. Injecting sponsored brands (or using reverse-sponsorship) could affect businesses' tracking of their visibility on GEO platforms, providing inflated or mixed signals that could alter their strategy and potentially cost them money.  In such cases, businesses and GEO platforms would need to take that into account and develop strategies to address these artificial alterations. 
</li>
</ol>

<h1 id="mitigation-strategies">Mitigation Strategies</h1>

<p><img src="/assets/forposts/ads-in-ai/Agent.png" style="float: left; margin-right: 1rem; height: 20rem; width: 20rem; " /></p>

<p>Providers of AI assistants and agents might need to inform users about the injection of sponsored materials in prompt results if they are doing so. Being transparent that sponsored products, services, and websites are being favoured or inserted into the responses. They might even mention that some relevant information is being withheld and that they have to pay to see it. This can even be seen as exploitive, and ethical concerns remain, but it is preferred over not disclosing that information and misleading users. They might decide to follow the explicit ads route, showing the sponsored products, services, and websites with the “sponsored” tag. More concretely, the following mitigation strategies might provide some balance:</p>

<ol>
<li>
<b>Transparancy of information being withheld</b>.
This means communicating to the users that some of the information is not shared. They can say something about how this helps pay for the platform, or they may find another way to communicate this to their users. Burying this information on the terms and conditions page or exploiting loopholes might be viewed as exploitive or unethical.
</li>

<li>
<b>Explicitly tagging sponsered material</b>.
Whether the sponsored materials address the user query perfectly or only partially, showing sponsored material that wouldn't otherwise appear might be seen as responsible and trustworthy by users. 
</li>

<li>
<b>Offering unsponsored results to programming interfaces</b>.
 Provide an ad-free option for programming interfaces as a way for them to have cleaner data for their GEO data or to show the sponsored materials in different ways if they decide to include the “sponsored” tag. 
</li>
</ol>

<p>A much easier, but maybe questionable approach is to state that some information might be withheld or included from sponsored materials, or maybe indicate the specific information that is withheld (e.g., “withheld information can be seen at the link below”) or injected into the results (e.g., with a tag or a tiny indicator). Providers might also add something like “to help us make this platform more affordable”. Some might even offer a limited sponsor-free plan, higher subscription fees, or higher per-token pricing for programming interfaces.</p>]]></content><author><name>Ahmad Alobaid</name></author><category term="Ads" /><category term="AI" /><summary type="html"><![CDATA[It is speculated that advertisments are coming for AI assistants and agents. But are they coming dressed in the classic way of banners and ad spaces? Or are they coming integrated into prompt responses? In this article, we talk about the classic ads, which we refer to as explicit, as users know that these are ads. The second category of ads is when the users are not aware that they are consuming ads; we call them implicit ads. Obviously, they do not come without their ethical concerns. We discuss those concerns and suggest ways to mitigate them.]]></summary></entry></feed>