Meta guidelines
WhatsApp is developed by Meta, which enforces strict guidelines regarding the content of the messages.
This means that when you send a WhatsApp campaign through Actito, or through any provider, it must first be validated by Meta. This validation is carried out by an automated system and usually takes only a few minutes.
If you are planning a time-critical campaign, you should remember that, by Meta's terms of use, it can take up to 24h.
However, we found that in practice this is never so long, unless the message does not follow the Meta guidelines.
Respecting the following guidelines is therefore important to ensure a validation time of only a few minutes.
The validation process starts as soon as a campaign is scheduled. To guarantee sending the campaign at the time of your choice, we advise scheduling it 24h in advance.
The following content should be avoided, as it can lead to the rejection of your campaign:
Format restrictions
-
The content cannot start or end with a personalization
Avoid gender tests at the beginning of the message and prefer a neutral greeting, and pay attention if you want to insert a link through a personalization: it cannot be at the very end of the message. -
Two personalizations cannot appear next to each other
Please ensure that there is enough text between personalizations. This also means that the message cannot contain only personalizations.
Dear ${genderTest} ${lastName}, check our new personalized offer here: ${link}
- Consecutive newline characters
Avoid skipping two blank lines in a row (carriage returns) when formatting your message.
Content restrictions
-
Duplicate content
A campaign can be rejected if its content is the same as a previous campaign. -
Shortened URLs
Avoid URL shorteners (like bit.ly and others) when inserting links, as they obscure the link destination. Prefer full links, even if they are longer: WhatsApp has a much bigger character limit than SMS. -
Spelling or grammatical errors
A message can be rejected because of too many grammatical mistakes (as they are typical of spam). -
Mismatching languages
Your message should match the language chosen in the campaign interface and not be a mix of two languages. -
Direct link to WhatsApp conversation
You cannot use links that redirect to a WhatsApp conversation (https://wa.me/ URLs). -
Content violating the WhatsApp Business Policy
Your message must respect the WhatsApp Business Policy: you cannot request sensitive information from targeted profiles, such as credit card numbers, national ID numbers, etc. -
Content violating the WhatsApp Commerce Policy
Messages offering goods or services for sale must follow the WhatsApp Commerce Policy, which restricts a number of topics and categories of goods:- Drugs
- Pharma products
- Alcohol and tobacco
- Guns
- Sexual content
Breaking these guidelines may result in your campaign being rejected.
Extensive testing by Actito showed that this is not always the case. Indeed, as the validation is automated, rejections are certainly triggered by certain keywords and patterns that are not documented more precisely by Meta.
Nevertheless, we advise you to treat these guidelines as strict rules to ensure that your messages are validated in near real-time.
More info can be found on Meta's Developers documentation.
Nevertheless, please note that not all guidelines apply, as you are creating your message through Actito: you must use Actito's personalization format ${personalization} instead of Meta's {{1}}.
Meta error codes
When you schedule your campaign, it will undergo validation by Meta, and should be cleared in a few minutes, as long as you followed the guidelines.
As soon as the result of the validation (SUCCESS or REJECTED) comes in, the user who created the campaign will receive a WhatsApp validation report.
If it is a SUCCESS, the campaign will be scheduled at the previously defined time (or sent immediately if past the scheduled time).
If the content is REJECTED, you will receive a status report with a message explaining the rejection reason for each language (each language of the campaign is evaluated separately).

The error codes come directly from Meta: some are very straightforward, while others can fit multiple issues.
-
Message body can't have more than two consecutive newline characters or only have parameters.: The message has two blank lines in a row or two personalizations in a row (which is also the case if the message only has personalizations).
-
INVALID_FORMAT: The message has encountered a formatting issue, which can be due to several reasons: personalizations at the end or the start, duplicate content, invalid link or language issue.
-
ABUSIVE_CONTENT: The content does not comply with the WhatsApp Business Policy or the WhatsApp Commerce Policy.
-
SCAM: The content was marked as fraudulent, such as attempting to acquire sensitive data.
A rejected campaign will go back to the drafts with a warning icon and the error code, to allow you to correct the issue and reschedule the campaign.

Message type reclassification
During the validation process, Meta may also reclassify your message type. If you submitted your template as a transactional message but it doesn't meet Meta's definition, it will automatically be changed to marketing and billed at the corresponding rate. This only goes in one direction: transactional messages can be downgraded to marketing, but not the reverse.
When this happens, Actito does not stop the sending. Since transactional campaigns are time-sensitive by nature, the campaign goes through and the decision is left to you. You will be notified of the reclassification in three places: a warning in the notification center, a warning in the WhatsApp module, and a warning in the validation email you receive after Meta's review.
In that validation email, the reclassification is explicitly flagged as follows:

Transactional messages do not require marketing opt-in on Meta's side. Keeping your templates correctly categorized lets you reach customers without explicit marketing consent.