This page publishes the complete first-observation series behind AirPulse's first repeated non-branded Perplexity citation. The method behind it is the registered first-citation trial protocol; this page is the result. It is a repeated, engine-specific observation. It is not proof that publishing the page caused the citation, that the citation is permanent, or that the result applies to other prompts.
The short answer
In this case, the citation was repeatable but not permanent. The AirPulse page was absent in observations 1 through 6. It first appeared in observation 7, then appeared in nine of observations 7 through 16. One later valid Perplexity answer did not mention AirPulse and exposed no citations.
The complete window therefore had nine AirPulse own-domain citation observations out of 16, or 56.25%. The post-first-appearance window had nine out of ten.
These two rates answer different questions. Nine out of 16 describes the full measured period, including the initial absence. Nine out of ten describes short-window persistence after the first appearance. Neither rate 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 prompt stayed fixed: “How do I prove that a GEO or AEO change improved AI visibility?” That is the target query of the trial protocol page, which is the page Perplexity cited. Each row below 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 measured window. After its first appearance, the page was cited in nine of the next ten valid Perplexity observations.
That is stronger evidence than a screenshot. It shows that the first appearance was followed by repeated selection. It does not show permanence. Observation 14 is the important counterexample: the answer completed successfully, but it did not mention AirPulse and exposed no citations.
A responsible report therefore keeps the numerator, denominator, order and miss visible. It does not turn the sequence into 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 the finding. Perplexity moved from absence to repeated citation. The other three engines did not produce an AirPulse own-domain citation. Each engine must therefore remain its own prompt-engine measurement cell, as the measurement methodology requires.
What does citation-list position mean?
When the AirPulse page appeared, its position in the exposed Perplexity citation array was 1, 7, 7, 1, 6, 6, 5, 6 and 6. The median was 6, and the range was 1 to 7.
This is not a Google rank. It is not a quality score. It is only the page's ordinal position in the citation list exposed with that answer. This page labels it “citation-list position” everywhere.
How stable was the broader source set?
The surrounding Perplexity source set was relatively consistent in this one series. Across 13 comparable consecutive pairs with non-empty citation lists, the mean cited-domain Jaccard overlap was 0.865. The median was 1.0, and the range was 0.429 to 1.0.
Jaccard overlap is the number of domains shared by two consecutive citation sets divided by the total distinct domains across those two sets. A value of 1 means the two sets contain the same domains. A value of 0 means they share none.
The two pairs touching the zero-citation observation were excluded because source-set overlap is undefined when one side has no exposed sources. This result describes one prompt on one engine. It should not be presented as a Perplexity-wide stability 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 can show movement. It cannot, by itself, identify the cause of that movement.
Several things changed around 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. As the crawler evidence page documents, the origin logs did not show a verified Perplexity exact-page fetch before the first citation. Access evidence and citation evidence stay separate.
There is also no matched-control result presented here. The pre-appearance series contains only six observations, and observations taken over time may be correlated. A simple binomial confidence interval can therefore imply more independence than the sequence contains.
The correct description is “repeated observational result”. Do not call it proof that the page, the sitemap, llms.txt, a crawler request, a social post or the AirPulse product caused the outcome.
Why repeated measurement changed the interpretation
After observation 7, AirPulse could truthfully report one first citation. It could not yet report persistence.
After ten additional observations, the interpretation changed. The page appeared nine more times, and it also disappeared once. That creates a more useful result: an observed rate, an order and a visible exception.
This is consistent with the repeated-measurement evidence in the 30,504-response studyand with external research: “Don't Measure Once” argues that one-off AI-search observations are unreliable because answers change across runs, prompts and time, and “Quantifying Uncertainty in AI Visibility” treats citation visibility as a sample from a changing response distribution rather than a fixed ranking.
The practical rule is simple: save the first citation, celebrate the milestone, and continue measuring.
How the result was measured
The unit of measurement was one exact prompt paired with one named engine, following the measurement methodology. The prompt itself 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 for each of the 16 observations: the observation number, prompt text, engine, valid-answer flag, own-domain-cited flag, AirPulse citation-list position and exposed citation count. It contains no raw answers, customer information, internal job identifiers or credentials.
What happens next?
- Keep the exact prompt unchanged.
- Keep the first 16-observation cohort frozen.
- Publish the Day 30 result as a separate validation window using the same definitions.
- Publish the Day 60 verdict under the registered decision rule without overwriting the original cohort.
- Keep engines separate.
- Report a null or inconclusive result with the same visibility as a positive result.
- Retain page and deployment versions so later observations can be matched to what was live.
