# activity feed

The Activity Feed shows a history of all actions taken by your guards, including when ads were paused, resumed, or when actions failed.

## Understanding Activity Feed

The Activity Feed displays:

* **Guard Name** - Which guard performed the action
* **Platforms** - Which ad platforms were affected (Meta, Google Ads, or both)
* **Action** - What happened (e.g., "Paused 5 ads", "Resumed 3 campaigns")
* **Reason** - Why the action was taken (e.g., "Out of stock", "Days of cover: 2")
* **Time** - When the action occurred
* **Status** - Whether the action succeeded or failed

## Activity Batches

Actions are grouped into batches:

* **Batch** - A collection of related actions that happened together
* **Action Count** - Number of entities successfully acted upon
* **Failed Count** - Number of entities that failed to update

### Viewing Batch Details

Click **View** on any activity entry to see:

* **Batch Information** - Overall batch details (guard, platforms, reason, etc.)
* **Individual Actions** - A table showing each entity that was acted upon
* **Results** - Success or failure status for each action
* **Failure Reasons** - Why specific actions failed (if any)

## Action Types

### Successful Actions

* **Paused** - Ads were successfully paused
* **Resumed** - Ads were successfully resumed
* **Takeover** - Ads were taken over by SpendGuard (marked with a badge)

### Failed Actions

Failed actions show why they couldn't be completed:

* **Not paused by SpendGuard** - Entity was paused outside of SpendGuard and takeover is not enabled
* **Status update failed** - The ad platform API returned an error
* **Connection error** - Could not connect to the ad platform
* **Permission error** - Insufficient permissions to modify the entity

## Filtering and Sorting

The Activity Feed:

* **Prioritizes Failures** - Batches with failures appear at the top
* **Hides Empty Actions** - Batches with 0 successful and 0 failed actions are hidden
* **Sorts by Time** - Most recent activity appears first

## Understanding Failure Reasons

<details>

<summary>"Not paused by SpendGuard"</summary>

This means:

* The entity was paused manually or by another system.
* SpendGuard cannot resume entities it didn't pause (unless takeover is enabled).
* To fix: Enable takeover when creating/editing the guard.

</details>

<details>

<summary>"Status update failed"</summary>

This means:

* The ad platform API returned an error.
* The entity may have been deleted or archived.
* Platform-specific restrictions may apply.

</details>

<details>

<summary>"Connection error"</summary>

This means:

* Could not connect to the ad platform API.
* The connection may be disconnected.
* Check your connection status in Settings.

</details>

<details>

<summary>"Permission error"</summary>

This means:

* Insufficient permissions to modify the entity on the ad platform.
* Verify account permissions and reauthorize if necessary.

</details>

## Recent Activity on Dashboard

* The dashboard shows the 5 most recent activities for a quick overview of recent guard actions.
* Click **View All** to see the full activity feed.
* The dashboard entries use the same format as the main Activity page.

{% hint style="info" %}
Best Practices

* Review the activity feed regularly to ensure guards are working correctly.
* Investigate failures by checking batch details to understand root causes.
* Monitor takeover actions to ensure they're working as expected.
* Check timing to verify actions occur when expected.
  {% endhint %}

## Related Topics

* [Creating Guards](https://docs.saanvi.ai/spendguard/broken-reference) - How guards work
* [Takeover Behavior](https://docs.saanvi.ai/spendguard/broken-reference) - Understanding takeover
* [Troubleshooting](https://docs.saanvi.ai/spendguard/broken-reference) - Fixing common issues


---

# 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://docs.saanvi.ai/spendguard/activity-feed.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.
