Chat promotions
A promotional piece (photo, video, audio, document or text only, with or without a caption) the customer receives as soon as they send their first message of the day, before any reply. Once a day per customer, within the period and hours you choose; then the flow and the assistant carry on as if the piece had not gone out. Everything is recorded for the report: who received it, when, through which channel, delivered, read and what happened next.
Overview
The Promotions page is in the side menu, right after Sending automation, with the subtitle Promotional pieces delivered on each customer's first message of the day. Unlike campaigns, which send to a list, a promotion looks for nobody: it waits for the customer to write. Whoever contacts the provider within the window gets the piece right away, as the first reply, and goes on being served as usual.
At the top, three steps sum it up: The customer writes, The piece goes out first and Once a day. Below, the Chat promotions card with the Full report and New promotion buttons, a summary strip (how many are live now, the next window, sent and customers today, errors, the last 7 days) and the promotions table.
| Column | What it shows |
|---|---|
| Name | The internal name, who created it and when. |
| Content | The piece type (Text only, Photo, Video, Audio, Document), an excerpt of the text, the file and, when it applies, the Template on the API pill. |
| Period | Start and end dates, hours and weekdays. |
| Where | The WhatsApp numbers the piece applies to (or All numbers) and the daily limit. |
| Today and Total sent | Pieces sent today and in total, with distinct customers, read and errors. |
| Status | Live (sending now), Outside hours (valid day, hour outside), Scheduled (not started yet), Ended (past the end), Paused (disabled by you) or No weekday. The last sending error shows here. |
| Actions | Report (already filtered by this promotion), Edit, Pause or Resume, Delete. |
How it works
- The customer writes. Any message (text, audio, photo) arriving at a number the promotion applies to, within the period, hours and weekdays selected. The number must have service enabled: a broadcast-only number does not count.
- ChatISP checks whether it applies. The customer has not received any piece today yet (with or without the ninth digit it is the same customer), the promotion's daily limit was not reached, the contact is not in the Contacts without assistant list (if that rule is on) and the conversation is not with an agent (if the other rule is on).
- The piece goes out first. Before the flow, the assistant and any notice, through the number's connection. Photo, video and document carry the text as a caption; audio goes out as a voice note and the text follows in a second message. The variables {nome} and {primeiro_nome} become the customer's name and first name.
- The service goes on as usual. The flow delivers the menu, the assistant replies, the queue distributes. The piece stays in the conversation history (the agent sees it was sent), but the assistant does not take it into account to reply or to summarize the conversation. The conversation timeline records the Promotion event.
- Once a day. If the conversation is closed and the same customer writes again on the same day, they do not get the piece again. The next day, within the window, they do. With more than one promotion live for the same number, the customer gets only the first one in the list per day.
The piece is a reply to the customer's message, not a broadcast. That is why it goes out free of charge through the QR connection and, on the official API, within the 24-hour window the customer opened by writing. See How the piece goes out.
Create a promotion
Click New promotion. The form has the name, four numbered sections, the In practice strip and, on the side, the How the customer sees it preview, which follows everything you fill in.
1. Content
| Field | What it does |
|---|---|
| Piece type | Cards Text only, Photo (JPEG or PNG up to 5 MB), Video (MP4 up to 16 MB), Audio (becomes a voice note) and Document (PDF, Word, Excel, PowerPoint, TXT or ZIP up to 45 MB). |
| File | Drag it to the area or click to choose. For audio you can also Record now with the browser microphone and Stop recording; the server converts any audio to the WhatsApp voice note format. When editing, the current file shows with the Replace button. |
| Text | Message text (text only), Caption (optional) (photo, video, document) or Text sent after the audio (optional). Accepts WhatsApp formatting (*bold*, _italic_, ~strikethrough~) through the toolbar and the variables {nome} and {primeiro_nome} through the chips. |
2. When
Starts on and Ends on (dates), From and To (hours in the panel time zone; for overnight use, for example, 22:00 to 02:00) and the weekday chips. Outside that, the service goes on without the piece.
3. Where and rules
| Field | What it does |
|---|---|
| WhatsApp numbers | All numbers chip or the chosen numbers. A number with QR and official API counts as one. |
| On the official API | Shows when a chosen number has the official API leg. Same content (the photo, video, audio or text goes out as a regular message within the 24-hour window) or Approved template (when the API is the channel of the moment, the Meta-approved template goes out instead of the content, with variables filled by Customer name, First name or Fixed text and the header image when the template has one). |
| Daily limit | Cap of customers who receive the piece per day (0 = no limit). Once reached, the service goes on without it. |
| Do not send to contacts without assistant | On by default: technicians, partners and suppliers registered in Contacts without assistant do not receive the piece. |
| Do not interrupt a conversation with an agent | Off by default. On, a conversation already with an agent does not receive the piece; only new conversations, in the flow or with the assistant. |
4. Audience
Who receives the piece: everyone, only subscribers matching the conditions (plan, status, city, neighborhood, speed, management system) or non-subscribers only. See Audience.
The In practice strip sums the promotion up in one sentence. On save the promotion is born active; if the start date is today and the hour is within the window, it goes Live right away.
Audience
Section 4. Audience of the form decides who receives the piece. The conditions use the subscriber records ChatISP mirrors from the management systems (the same ones behind the customer card, refreshed every 6 hours), with no live query at delivery time.
| Option | Who receives |
|---|---|
| Everyone who writes | Any customer sending their first message of the day. The default. |
| Subscribers matching these conditions | Only those in the management system records who match the selected filters. A customer with more than one contract qualifies if any contract matches. |
| Non-subscribers only | Lead capture: only phones not found in the records of any connected management system. The reach cannot be estimated in advance. |
The subscriber filters
| Filter | How it works |
|---|---|
| Plans | Chips with the real plans from the records (with contract counts). Select one or several: it means "plan X or plan Y". Empty = any plan. |
| Contract status | Active, Reduced speed, Blocked, Suspended, Cancelled, Pending. Empty = any status (a cancelled one still counts as a subscriber). |
| Cities and Neighborhood contains | Chips with the cities from the records; the neighborhood matches by text fragment. |
| Speed from / up to (Mbps) | Range over the plan download speed. A contract without a speed on record stays out when the range is set. |
| Management system | Shows when more than one is connected: restricts the promotion to that system's subscribers. |
| Phones not in the records still receive it | Off by default: whoever writes from a number not on record stays out of this promotion (another promotion in the queue may still match them). |
The Reach preview button counts how many subscribers with a phone on record match the conditions today, in total and per management system, and warns how many contracts match but have no phone. It is an estimate from the mirror: whoever writes within the window receives it.
Priority queue
The customer still gets one piece a day. With more than one promotion live, the queue rules: the first in the list that accepts the customer sends, and the others wait for another day. The Priority N in the daily queue arrows, in the Name column, move each promotion up and down. Put the most specific on top: plan X customers get the plan X piece, everyone else falls through to the general promotion right below.
Whoever wrote but does not match the conditions shows in the report as Outside the audience, with the promotion that refused them, and consumes neither the daily limit nor the one-piece-a-day rule.
Filters by contract age and by expired loyalty terms depend on data not every management system exposes through its API; they are under study per system. Today the approximation is combining plan and contract status.
How the piece goes out
The piece follows the same channel rule as the service (channel policy): on a number with QR and official API it goes out through the connection of the moment, QR by default.
| Number | How the piece goes out | Cost |
|---|---|---|
| QR code only | The content (photo, video, voice note, document or text) like any service message. | No cost. |
| QR and official API | Through the connection of the moment, QR preferred. With Approved template chosen, the template only goes out when the API is the channel of the moment. | No cost through QR; on the API it counts toward the monthly allowance. |
| Official API only | Same content: the message goes out within the 24-hour window the customer opened. Approved template: the Meta template goes out. | Service message within the allowance; template paid per message. |
The approved template only applies to the official API number it was approved on. On other numbers of the same promotion the content from section 1 goes out. Templates are created on the Meta Templates page.
Rules and limits
- One piece per customer per day, counting all promotions. A phone with and without the ninth digit is the same customer.
- Several promotions live for the same number: the priority queue rules, and the customer gets the first one that accepts them into its audience. Falling outside one audience does not consume the turn: the next in the queue tries.
- Daily limit counts pieces that went out; a sending error does not consume the limit, and the customer with an error can receive again on the same day if they write again.
- Hours in the panel time zone (Settings, System tab). An overnight window is accepted.
- Broadcast number (service disabled in Connections) does not receive promotions: it already has its own automatic reply.
- Ending or deleting erases nothing from the conversations: pieces already delivered stay in the history and in the report. Deleting only removes the piece file.
Report
The Full report button (or Report in the row, already filtered) opens the Promotions report. At the top, the promotion selector (All promotions or one), the period (Today, Last 7 days, 30 or 90) and Export CSV. The page refreshes itself every minute.
| Card | What it shows |
|---|---|
| Status now | Live now, Sent today, Customers today, Errors today and, per promotion, the status, period, hours, numbers, the next window ("Sending now (window until 20:00)" or "Next window: 10/20 08:00"), what went out today, the total and the last error. |
| Period indicators | Pieces sent (with the daily average), Customers reached (distinct phones; how many received on more than one day), Delivered and Read (with the percentage of those sent), With error, Outside the audience (wrote, but do not match the conditions) and QR / official API (channel the piece went out through, with how many went via approved template). |
| Pieces per day | Columns per day: sent in green and errors in red. Hover to see customers and reads of the day. |
| By hour of day | When customers write the most and receive the piece (useful to choose the window). |
| By promotion and By number | Sent, customers, delivered, read, QR / API and errors of each piece and each WhatsApp number. |
| What happened next | Who took care of the customer after the piece: AI assistant, Agent, Automation only (the flow, without AI or agent) or Nobody yet, and how many customers kept the conversation going. |
| Errors by reason | Connection unavailable, number without WhatsApp, Meta held the marketing message, Meta sending limit, piece file not found and the Outside the audience ones. The View button filters the full list by that reason. |
| Who received it | Each piece delivered in the period: customer and phone, promotion, number and channel, status (Sent, Delivered, Read, Error with the reason, Outside the audience), when it went out, who took care next and Open conversation. Filters All, Sent, Read, Error and Outside audience and search by customer, phone or promotion. The screen shows the 500 most recent; the CSV has them all. |
The CSV carries promotion, customer, phone, connection, channel, via (content or approved template), status, reason, date and time, who took care next, agent, whether the customer kept talking, protocol and the conversation number.
Permission
The page and the report require the Chat promotions permission (Service group on the profiles screen: Creates, schedules and tracks the promotions delivered on the customer's first message of the day.). The Administrator already has it; for other profiles, enable it on the Profiles screen. A user restricted to some numbers in the agent form only creates promotions on the numbers they work on. Creating, editing, pausing and deleting go into the Audit log.
Best practices
- Square or 4:3 artwork, with the price and the offer legible on the phone. A wide banner gets small on WhatsApp.
- Short text with a clear call ("Reply PROMO"), so the customer knows what to do. The assistant goes on serving as usual, so set in the Knowledge base what it should answer about the offer.
- Use {primeiro_nome}: when the customer's name is unknown, the variable disappears and the sentence stays correct.
- Business hours window for offers that depend on signing up; a piece outside business hours raises interest with nobody to serve.
- Check the report on the second day: reads and the What happened next card tell whether the piece is helping or getting in the way.
Common problems
| Symptom | What to check |
|---|---|
| The customer wrote and did not get the piece | Is the promotion Live? Check status, period, hours and weekdays. Is their number in the promotion's list? Are they in the audience? The report shows the Outside the audience row when that is the case. Did they already get a piece today (from any promotion)? Was the daily limit reached? Are they in Contacts without assistant? Was the conversation already with an agent with that rule on? |
| Last error: Connection unavailable | The number was disconnected at the time. Reconnect in Connections; the next customer who writes gets it. |
| Piece file not found on the server | The piece was restored from a database-only backup or the file was removed. Edit the promotion and upload the file again. |
| Audio rejected on save | The server could not convert it. Try MP3, M4A or OGG, or record straight with the Record now button. |
| The assistant commented on the promotion | It does not read the piece, but it reads what the customer replies. If the customer asks about the offer, register the terms in the Knowledge base so the answer comes out right. |