> For the complete documentation index, see [llms.txt](https://docs.hackle.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hackle.io/en/crm-marketing/push-message-guide/send/frequency-capping.md).

# Frequency Capping

### Frequency Capping

When running multiple campaigns simultaneously, it is important to ensure that messages are not perceived as spam or disruptive to the user experience. By configuring Frequency Capping, you can run campaigns effectively without sending excessive messages to recipients.

![](/files/lu2NzOUvk7qetLC9iZQz)

Hackle currently supports combining the two conditions below, and each Frequency Capping setting is connected with the `AND` operator per condition.\
(\*You can set it in minutes, hours, days, weeks, and months, with a maximum of 30 days)

{% hint style="info" %}
Frequency Capping

1. Total Frequency Capping
2. Tag-specific Frequency Capping (push message tags)

   ![](/files/Vsl1ceZwC1J1eqWlj7zs)
   {% endhint %}

Before starting a campaign, you can check the Frequency Capping details via a Tooltip on the send settings page.

![](/files/aLfOrbikWc61Y5scsAOj)

### Tag-specific Frequency Capping Rule Details

1. Tag-specific frequency capping rules are calculated when a message is sent.
2. Tag-specific frequency capping only applies to tags on currently active campaigns that the user has previously received.
3. If you sent a push message with a tag set in Frequency Capping, and then removed the tag and sent the push message again, that push message is not included in the Frequency Capping.\
   \*However, if a tag was later added to a message the user received, and that added tag was added before the most recently sent message, it is included in the frequency capping calculation.

### Case Examples

Check what happens in the following cases.

1. **Campaigns**
   1. Campaign A: Scheduled to send at 9 AM on Monday. / Using `promotion` tag
   2. Campaign B: Scheduled to send at 9 AM on Tuesday. / Using `promotion` tag
2. **Configured Frequency Capping Rule**
   1. {Specific tag - promotion} push messages: maximum {1} send per {1 week} to one user

| If                                                                                                                                                            | Calculation                                                                        | 📌 Final Result                                              |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| After the user receives a message, the `promotion` tag is removed from Campaign A, but before Campaign B sends a message...                                   | Campaign A's `promotion` tag is not included in the frequency capping calculation. | **The customer will receive Campaign B's push message.**     |
| After the user receives a message, the `promotion` tag is accidentally deleted from Campaign A, but the tag is re-added on Tuesday before Campaign B sends... | Campaign A's `promotion` tag is included in the frequency capping calculation.     | **The customer will not receive Campaign B's push message.** |

### Rule and Condition Composition

Frequency Capping rules are composed with AND conditions per each condition, and up to 10 can be added.

The AND condition requires both operands to be satisfied. Therefore, if rules are set as follows, a user can only receive one push message with the `promotion` tag in that week.

![](/files/u2causGgEav8hCiFzWr0)

> **Rules**
>
> 1. {All} push messages: maximum {1} send per {1 week} to one user
> 2. {Specific tag - promotion} push messages: maximum {5} sends per {1 week} to one user
>
> **Result**
>
> **The user can only receive 1 push message with {specific tag - promotion} in that week.**


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.hackle.io/en/crm-marketing/push-message-guide/send/frequency-capping.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
