This page publishes the complete first-observation series behind AirPulse's first repeated non-branded Perplexity citation. The method is the registered first-citation trial protocol; this page is the result. It is a repeated, engine-specific observation, not proof that publishing caused the citation, that the citation is permanent, or that the result applies to other prompts.
The citation was repeatable but not permanent. The page was absent in observations 1 through 6, first appeared in observation 7, then appeared in nine of observations 7 through 16. One later valid answer exposed no citations. Full window: 9/16, or 56.25%. After first appearance: 9/10.
The two rates answer different questions. 9/16 describes the full measured period, including the initial absence. 9/10 describes short-window persistence after first appearance. Neither should be projected beyond this prompt, engine and frozen window.
Evidence summary
| Measure | Observed result |
|---|---|
| Fixed prompt | “How do I prove that a GEO or AEO change improved AI visibility?” |
| Engine with AirPulse citation | Perplexity |
| Valid Perplexity observations | 16 |
| AirPulse own-domain citations | 9 |
| Full-window citation rate | 9/16 (56.25%) |
| Before first appearance | 0/6 cited |
| After first appearance | 9/10 cited |
| Later valid misses | 1 |
| Citation-list position | Median 6; range 1-7 |
| Other engines | ChatGPT 0/16, Gemini 0/16, Google AI 0/16 |
| Mean cited-domain overlap | 0.865 across 13 comparable consecutive pairs |
| Status | Frozen first cohort; observational, engine-specific result |
What happened, observation by observation?
The fixed prompt is the target query of the trial protocol page, which is the page Perplexity cited. Each row is a completed Perplexity observation from the canonical AirPulse brand record.
| Observation | AirPulse cited? | Citation-list position | Exposed citations |
|---|---|---|---|
| 1 | No | - | 10 |
| 2 | No | - | 10 |
| 3 | No | - | 10 |
| 4 | No | - | 10 |
| 5 | No | - | 10 |
| 6 | No | - | 10 |
| 7 | Yes | 1 | 10 |
| 8 | Yes | 7 | 10 |
| 9 | Yes | 7 | 10 |
| 10 | Yes | 1 | 10 |
| 11 | Yes | 6 | 10 |
| 12 | Yes | 6 | 10 |
| 13 | Yes | 5 | 10 |
| 14 | No | - | 0 |
| 15 | Yes | 6 | 10 |
| 16 | Yes | 6 | 10 |
Did the citation persist after it first appeared?
Yes, within this window: nine of the next ten valid Perplexity observations. That shows repeated selection, not permanence. Observation 14 is the counterexample: the answer completed but did not mention AirPulse and exposed no citations. Keep the numerator, denominator, order and miss visible rather than a binary “won” label.
Did the same result appear on other engines?
No. The result was specific to Perplexity in this window.
| Engine | Valid observations | AirPulse citations | Interpretation |
|---|---|---|---|
| Perplexity | 16 | 9 | Repeated presence in this window |
| ChatGPT | 16 | 0 | No observed own-domain citation |
| Gemini | 16 | 0 | No observed own-domain citation |
| Google AI | 16 | 0 | No observed own-domain citation |
A combined four-engine score would hide this. Each engine stays its own prompt-engine cell, as the measurement methodology requires.
What does citation-list position mean?
When the page appeared, its position in the exposed Perplexity citation array was 1, 7, 7, 1, 6, 6, 5, 6 and 6. Median 6, range 1 to 7. This is the page's ordinal position in the exposed citation list, not a Google rank or a quality score.
How stable was the broader source set?
Across 13 comparable consecutive pairs with non-empty citation lists, the mean cited-domain Jaccard overlap was 0.865, median 1.0, range 0.429 to 1.0. Jaccard overlap is the domains shared by two consecutive citation sets divided by the distinct domains across both; 1 means identical sets, 0 means none shared.
The two pairs touching the zero-citation observation were excluded because overlap is undefined when one side has no exposed sources. This describes one prompt on one engine, not a Perplexity-wide benchmark.
What this result proves, and what it does not
| Supported by the data | Not supported by the data |
|---|---|
| Perplexity repeatedly selected the AirPulse protocol page for one exact prompt. | The page or any individual optimisation caused the citation. |
| The first citation recurred in 9 of the next 10 observations. | The citation is permanent. |
| One later valid answer omitted AirPulse and exposed no citations. | Every miss means indexing, authority or content quality was lost. |
| The result was specific to Perplexity in this window. | ChatGPT, Gemini or Google AI will follow. |
| Repeated measurement changed a milestone into an observed rate and sequence. | 56.25% is AirPulse's true or future visibility rate. |
Why this is not yet a causal GEO result
A before-and-after sequence shows movement, not cause. Several things changed in the same period: a new page went live, the Research hub linked to it, the sitemap and llms.txt were updated, and different crawler-labelled requests appeared in logs. The crawler evidence page shows no verified Perplexity exact-page fetch in origin logs before the first citation. Access evidence and citation evidence stay separate.
No matched-control result is presented. The pre-appearance series has six observations, and observations over time may be correlated, so a binomial confidence interval can imply more independence than the sequence contains. The correct description is “repeated observational result”, not proof that the page, sitemap, llms.txt, a crawler request, a social post or the product caused the outcome.
Why repeated measurement changed the interpretation
After observation 7, AirPulse could report one first citation, not persistence. After ten more observations the page had appeared nine more times and disappeared once, giving an observed rate, an order and a visible exception.
This matches the 30,504-response studyand the external research: “Don't Measure Once” finds one-off AI-search observations unreliable because answers change across runs, prompts and time; “Quantifying Uncertainty in AI Visibility” treats citation visibility as a sample from a changing response distribution. Save the first citation, then keep measuring.
How the result was measured
One exact prompt paired with one named engine, per the measurement methodology. The prompt was selected under the prompt-selection methodology.
- The prompt text was frozen.
- Perplexity, ChatGPT, Gemini and Google AI were reported separately.
- Only completed answers that passed the declared validity rules were counted.
- An own-domain citation required an exposed URL on airpulse.ai.
- Citation-list position used the order of URLs in the exposed citation array.
- Cited URLs were normalised to domains before source-set overlap was calculated.
- The complete first 16-observation cohort was frozen rather than allowed to move each day.
- The result series came from the canonical AirPulse brand record, not pooled duplicate records.
- Customer prompts, raw customer answers, tenant identifiers and customer domains were excluded.
Public data download
One CSV row per observation: observation number, prompt text, engine, valid-answer flag, own-domain-cited flag, citation-list position and exposed citation count. No raw answers, customer information, job identifiers or credentials.
What happens next?
- The prompt and the first 16-observation cohort stay frozen.
- The Day 30 result is published as a separate validation window with the same definitions.
- The Day 60 verdict is published under the registered decision rule, positive, null or inconclusive alike.
- Page and deployment versions are retained so later observations match what was live.
