> For the complete documentation index, see [llms.txt](https://ctracker-docs.keywordrush.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ctracker-docs.keywordrush.com/running-your-site/logs-and-alerts.md).

# Logs and alerts

`Cashback Tracker` → `Logs` is what the plugin ran into while working in the background: a network that would not answer, a postback it turned away, an order it could not place.

Most days it has nothing you need to read. That is the normal state of this screen.

### The four levels

|              | What it holds                                                                 |
| ------------ | ----------------------------------------------------------------------------- |
| **Errors**   | Something did not happen that should have. Money or data is affected.         |
| **Warnings** | Something went wrong and the plugin carried on. Worth reading, rarely urgent. |
| **Activity** | A record of what happened. Nothing is wrong.                                  |
| **Debug**    | Detail for diagnosing a problem. Off by default.                              |

Click a level to filter. The counts beside each one always describe the table underneath, so if you search first, they narrow with it.

![The Logs screen](https://3545740495-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M69sU0hfZj3QsteYxmI%2Fuploads%2Fgit-blob-86ae8f572b1f49400d59d694f3c202829e4c07d0%2Flogs-screen.webp?alt=media)

### Finding one entry among thousands

The search box matches anywhere in the entry. Every message from a network starts with the network's name, so typing **Awin** finds everything Awin has ever reported — failures, refreshes and orders alike. Combine it with a level to narrow further.

### Reading an entry

A failed network call reads like this:

> **Awin:** Could not download orders. The network said: `401 Unauthorized`

Three parts, always in the same order: **which network**, **what the plugin was trying to do**, and **what the far end actually said**. The last part is the one to act on. `401` and `403` mean the credentials are wrong or expired; `404` means the thing being asked for is gone; a timeout means the network was slow or down, and will usually right itself.

An entry about an order names both id numbers, and labels which is which:

> A new order was recorded. **Order #429.** Network: Awin. Shop: example.com. **Network reference:** 88123 (A-7). Member #4. Status: Pending.

**Order #429** is the id on your `Orders` screen — paste it into the search there. **Network reference** is the network's own numbering, which is what you quote if you have to ask them about it.

### Entries you are most likely to see

| Entry                                                                  | What to do                                                                                                                                               |
| ---------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Could not download orders** / **Could not read the shop list**       | Check the network's credentials under `Networks`. This is an expired key nine times out of ten.                                                          |
| **Could not obtain an access token**                                   | The same cause, one step earlier. Nothing can be read from that network until it is fixed.                                                               |
| **A postback …**                                                       | A network told you about a sale and it was turned away. See [Postbacks](/affiliate-networks/postbacks.md) — the detail is on the network's own screen.   |
| **An order arrived for shop X, which is not in your shop catalog yet** | Harmless; the order was kept. Refresh that network's shops to fill in the details.                                                                       |
| **An order arrived for a member who no longer exists**                 | The member was deleted after buying. Nothing can be done for that order.                                                                                 |
| **No exchange rate for X**                                             | The cashback was **not** recorded. It is retried on the order's next status change; if it keeps failing, set a manual rate under `Settings` → `General`. |
| **Shop refresh did not start: the network is switched off**            | Expected, if you switched it off.                                                                                                                        |

### Copy for support

**Copy for support** shows the entries currently on screen as plain text, oldest first, so they read as a sequence of events.

It shows them **before** copying anything, on purpose: log entries name members, shops and order references. Read what you are about to send.

Filter to the problem first — pick **Errors**, or search for the network's name — so what you send is the relevant part rather than a thousand lines of routine activity.

### How long entries are kept

`Settings` → `General` → **The plugin log**.

|                             |                                                                                                                                                                         |
| --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Keep in the log**         | **Everything except debug detail** is the default. The other option adds debug entries, which are verbose and only worth switching on while chasing a specific problem. |
| **Keep the log for (days)** | 60 by default. Older entries are deleted once a day. `0` keeps everything.                                                                                              |

The newest 20,000 entries are kept whatever you set, so the table cannot grow without bound even on `0`.

**Clear the log** on the Logs screen empties it completely — including entries the current filter is hiding. Nothing else is affected: orders, balances and payouts are stored separately. It is for after you have fixed something and want a clean slate.

### Alerts by email

`Settings` → `Emails` → **Emails to you**.

**Email me about** decides what reaches you the moment it happens, rather than waiting for [the summary email](/running-your-site/admin-digest.md):

* **Errors only** — the default
* **Errors and warnings**
* **Nothing**

Alerts go to **Send alerts to**, the same address as the summary.

{% hint style="info" %}
**Repeats are held back to one an hour.** A network stuck on an expired key retries every few minutes; without this, one problem would be hundreds of identical emails a day, and the only defence would be switching alerts off — after which you would never hear about the next one either. The email says how many repeats it held back.

Numbers are ignored when deciding what counts as a repeat, so "Payout #41 has no ledger row" and "Payout #42 has no ledger row" are treated as one problem, because they are one thing to go and fix.
{% endhint %}

### When to use which

* **The summary email** is the routine channel — what happened, and what is waiting on you. Read it weekly.
* **Alerts** are for things you would want to know about tonight rather than on Monday.
* **The log** is where you go once you know something is wrong and need the detail.

### Related

* [The summary email](/running-your-site/admin-digest.md)
* [Emails to members](/members-and-payouts/member-emails.md)
* [Scheduled tasks](/running-your-site/scheduled-tasks.md)
* [Postbacks](/affiliate-networks/postbacks.md)
* [Troubleshooting](/running-your-site/troubleshooting.md)
