# Customer Cache

Customer Cache serves pre-built HTML pages to authenticated users, this makes pages load in milliseconds rather than seconds. The challenge with caching logged-in users is dynamic content such as wallet balances, prize states, competition entries, and personalised popups that are unique to each customer. \
\
Customer Cache solves this with an AJAX fragment system: dynamic elements are updated seamlessly just after serving the cache. From the customer's perspective the page loads instantly and their dynamic data appears within a fraction of a second.&#x20;

Stale files are detected & regenerated in the background ensuring your customers always get a fast & updated experience.

Customers who land on a page containing specific query strings such as `utm_source`, Klaviyo (`_kx`), or Facebook parameters will also receive the cached version of the page even if they're logged in, which will help when traffic surges due to promotions.

{% hint style="success" %}
Cache is cleared when a competition is updated or when a competition has ended
{% endhint %}

<figure><img src="/files/wETAJqB8vvwiG4gFtEPb" alt=""><figcaption></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://competitions.gitbook.io/competition-docs/performance/customer-cache.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
