Case Studies

How a Mid-Sized Environmental Non-Profit Improved Its AI Visibility for Volunteer Programs

A content-rich conservation website that ranked fine in traditional search but kept getting left out when users asked AI engines for local volunteer opportunities — and the structural and linguistic fixes that change that.

Hypothetical scenario

Case profile

Industry

Nonprofits & Foundations

Org Size

Mid-sized regional foundation

Team Size

2-person marketing & comms team

Difficulty

Moderate

Timeline

Variable

Figure 1 — the case at a glance
The situation

Why was a content-rich non-profit invisible to AI search?

The non-profit operated a content-rich website detailing its regional conservation efforts and community programs, but struggled to surface in conversational search results.

When users asked AI engines for local volunteer opportunities or foundation grants matching specific criteria, the organization was consistently omitted. The baseline digital footprint relied on vague, narrative-driven marketing copy that failed to establish clear entity relationships for LLMs (Large Language Models). This is a composite, illustrative scenario built to demonstrate the GEO method — not a real client engagement.

The challenge

Modern search behavior has shifted from fragmented keywords (e.g., "environmental volunteer SF") to highly contextual, multi-criteria conversational phrases. To answer these, AI engines rely on an "AI Knowledge Graph"—a backend map of nodes and edges that links entities (like an organization) to specific attributes (like its location, focus areas, and verified outcomes).

If an AI model cannot explicitly connect your organization's name to a specific cause, location, or validation metric, you are left out of the final generated response.

What donors and volunteers are asking AI

  • "I live in the Bay Area and want to volunteer for a weekend beach cleanup program that allows families with kids. Who should I contact?"
  • "Which non-profits in Northern California focus on urban canopy expansion and have verified financial transparency ratings?"
  • "I am looking for grants from foundations that fund local community garden initiatives. Provide a list of organizations and their application requirements."

Why this matters: Traditional keyword optimization fails if the AI engine cannot map connections between attributes. A conversational engine does not just look for words on a page; it synthesizes facts to see if your organization explicitly satisfies all constraints of the user's multi-layered prompt.

Baseline GEO audit

To evaluate the organization's baseline visibility across the conversational web, a series of diagnostic prompts were run across the primary AI answer engines.

Ratings are illustrative, not measured.

Audit category ChatGPT Gemini Claude Perplexity
AI Visibility Missing Weak Missing Moderate
Entity Clarity Moderate Strong Moderate Moderate
Program/Service Pages Weak Weak Missing Moderate
FAQ Content Missing Missing Missing Missing
Trust Signals Weak Moderate Weak Strong
Expert Profiles Missing Weak Missing Missing
ChatGPT
AI Visibility
Missing
Entity Clarity
Moderate
Program/Service Pages
Weak
FAQ Content
Missing
Trust Signals
Weak
Expert Profiles
Missing
Gemini
AI Visibility
Weak
Entity Clarity
Strong
Program/Service Pages
Weak
FAQ Content
Missing
Trust Signals
Moderate
Expert Profiles
Weak
Claude
AI Visibility
Missing
Entity Clarity
Moderate
Program/Service Pages
Missing
FAQ Content
Missing
Trust Signals
Weak
Expert Profiles
Missing
Perplexity
AI Visibility
Moderate
Entity Clarity
Moderate
Program/Service Pages
Moderate
FAQ Content
Missing
Trust Signals
Strong
Expert Profiles
Missing

The baseline audit highlights a common systemic issue: while the organization's core brand entity is occasionally recognized (thanks to third-party news citations and press releases), its specific programs, locations, and personnel remain entirely obscured. Perplexity managed moderate visibility due to its real-time web-scraping capabilities, pulling fragmented data from live pages. However, synthesis-focused models like ChatGPT and Claude failed entirely to map the organization's specific volunteer opportunities. Because the internal content structure lacked explicit entity markers, the LLMs could not verify whether the programs met the precise location and age parameters of the test prompts.

Key issues found

Three structural problems kept the organization's programs out of generated answers.

  1. 1

    Narrative-heavy, indirect copy

    The Issue: Program descriptions relied on abstract, emotive storytelling (e.g., "We believe in the healing power of the soil and the legacy of our green spaces") rather than stating explicit operational facts.

    Why It Matters: LLMs extract entities and actions using semantic structures. When copy is buried in metaphor, the models struggle to extract basic programmatic facts, such as who qualifies, where the event occurs, and what specific activities are performed.

  2. 2

    Information locked in legacy PDFs

    The Issue: Years of verified conservation metrics, financial audit sheets, and impact data were housed exclusively inside formatted annual report PDFs.

    Why It Matters: Many AI crawlers deprioritize or completely fail to parse heavy, unstructured PDF media during rapid training or retrieval loops. Moving this data out of text-scrapers effectively deletes your core trust signals from the model's knowledge base.

  3. 3

    Missing structured data (schema markup)

    The Issue: The website's code contained zero structured data formatting, relying on basic HTML tags to display program dates, staff bios, and physical addresses.

    Why It Matters: Without JSON-LD schema, an AI engine must infer data types through machine learning guesswork. Explicit schema gives search engines a clean machine-readable translation layer, removing all ambiguity about dates, locations, and entity relationships.

Recommended GEO improvements

The fixes that turn obscured programs into citable, machine-readable facts.

Transforming text for direct answers

Before — traditional marketing copy

For years, our passion has been revitalizing the beautiful coastlines that we all call home. We invite community members of all walks of life to step into nature with us this coming Saturday morning as we clear away the debris that harms our local wildlife. Bring the family down and make a difference under the morning sun!

After — GEO-optimized copy

The organization hosts the Coastal Habitat Restoration Program. This volunteer program features weekly beach cleanup events in San Francisco, California. Age Requirement: Open to all ages (family-friendly and child-safe). Location: Ocean Beach, San Francisco, CA. Schedule: Every Saturday from 9:00 AM to 12:00 PM. Registration: No prior experience is required; online registration is mandatory for groups of five or more.

Why we chose it: Natural language engines rely heavily on the proximity of terms. Placing the organization's name, the program type, the age requirement, and the location in immediate proximity allows the LLM to cleanly extract the data as a single factual unit.

Implementing NGO / Event schema

Before

Program dates, times, and locations displayed with basic HTML tags only — no machine-readable definition of the organization as an NGO or its projects as volunteering events.

After

Custom JSON-LD schema on the "About" page and all individual volunteer event pages, formally defining the organization as an NGO and its projects as VolunteeringAction events. (See the code example below.)

Why we chose it: Backend data mapping gives AI engines an explicit, machine-readable blueprint of your operational footprint. This bypasses the need for the model to guess your operating hours, location, or non-profit status based on your body copy alone.

Creating HTML impact dashboards

Before

A common mistake: lean teams often assume that uploading a beautifully designed PDF satisfies digital transparency requirements. In reality, unless that data lives natively as crawlable text on an HTML page, conversational AI models cannot ingest it to satisfy user queries focused on finding "verified" or "highly transparent" organizations.

After

Extract all data, percentages, and financial audits out of hidden annual report PDFs and move them onto a clean, crawlable HTML page titled "Impact Metrics and Transparency." Use explicit table grids to structure the data year over year.

Why we chose it: Grounding AI engine outputs requires authoritative text sources. By placing clear, tabular impact data directly into the web markup (e.g., "12,000 native trees planted in 2025"), the organization provides conversational engines with a direct, citeable source to validate trust and impact queries.

Schema code example

The same event, expressed first as plain HTML and then as machine-readable JSON-LD an engine can map directly.

Before — standard HTML

HTML
<div class="event-header">
  <h2>Join us at the Richmond Community Garden</h2>
  <p>Date: June 20, 2026. Time: 10am. Location: 25th Ave, San Francisco.</p>
</div>

After — with schema markup

JSON-LD
{
  "@context": "https://schema.org",
  "@type": "VolunteeringAction",
  "name": "Community Garden Maintenance",
  "description": "Weekly urban agriculture and weeding volunteer program.",
  "startDate": "2026-06-20T10:00:00-07:00",
  "location": {
    "@type": "Place",
    "name": "Richmond Community Garden",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "25th Ave",
      "addressLocality": "San Francisco",
      "addressRegion": "CA",
      "addressCountry": "US"
    }
  },
  "provider": {
    "@type": "NGO",
    "name": "The Conservation Foundation",
    "url": "https://www.example-foundation.org"
  }
}

Likely outcome

What addressing these structural and linguistic gaps positions a non-profit to achieve.

By addressing these structural and linguistic gaps, a non-profit can expect to see a more stable and accurate digital identity across major AI platforms. Rather than relying on exact keyword matching, the organization positions its programs to be systematically parsed, cited, and recommended by conversational engines answering highly specific user queries.

Continue learning

Related guides to take you deeper.