Communication Performance
Communication Performance shows how the messages sent from your campaigns actually performed — how many went out, arrived, were opened, and were clicked. Use it to compare channels, spot campaigns with deliverability problems, and drill down to individual message steps.
Accessing the Report
Navigate to Analytics → Communication Performance in the top navigation menu.
Use Cases
Compare channels head to head. Set Block to Channel and add Sent, Delivered, Delivery Rate and Click-Through Rate. You get one table per channel, so you can see immediately whether SMS is out-converting email this week or the other way around.
Track one campaign day by day. Add the Campaign condition with operator IN, pick the campaign from the dropdown, and set Group to Day. You'll see the daily send curve and how open and click rates move over the campaign's life.
Hunt down deliverability problems. Group by Campaign, then add Bounce Rate, Complaint and Unsubscribe Rate to your metrics. Campaigns with a bounce or complaint spike stand out instantly — that's your list-hygiene or content problem.
Find the weak step in a flow. Group by Message to break a campaign down into its individual message steps. Useful when overall numbers look fine but one email in the chain is quietly dragging the flow down.
How It Works
Two things are worth understanding before you read any number in this report.
Every rate is limited to the channels that can report it. Not every channel can tell us what happened to a message. A rate is calculated only across the channels that technically report the status it needs — and both the numerator and the denominator are limited to the same set of channels. If a row contains no eligible channel at all, the cell shows a dash (—), not 0%. A dash means "we have no data", not "nothing happened".
The data is not real-time. The report is built from a data mart that a background job fills in hourly intervals. Recent sends appear with a delay — usually up to an hour.
Filter Panel
All filters live in the sidebar, grouped into three sections: Period & Scope, Breakdown, and Metrics. Configure your filters and click Apply to load the results.
Period & Scope
Message Period — required. The date range the messages were sent in. Defaults to the last 7 days.
Project — required. Which project the data is pulled from. Supports multiple selections. Defaults to the first project available to your account.
Channel —
Email,SMS,Webhook,Viber,Push,WhatsApp,On-site,Telegram,Facebook,Instagram. Supports multiple selections. Empty by default, which means all channels.Campaign Status —
New,Started,Paused,Stopped,Archived,Scheduled,Starting. Supports multiple selections. Defaults toStarted.
⚠️ Watch the Campaign Status default. Out of the box the report only shows campaigns that are currently Started. Finished, paused and archived campaigns are excluded until you add their statuses to the filter — this is the single most common reason for "my sends are missing".
Breakdown
Block creates separate tables for each value. Group creates rows inside each table and supports multiple selections for nested grouping.
Both fields accept the same options, organized into two groups: Time and Message.
Group | Option | Description |
Time | Day | Calendar day |
Time | Week | Week |
Time | Month | Month |
Message | Channel | Channel the message was sent through |
Message | Campaign | Campaign the message belongs to |
Message | Campaign Status | Current status of the campaign |
Message | Message | Individual message step inside the campaign |
Example: set Block to Channel and Group to Day to get one table per channel with daily rows inside.
Metrics
Pick which columns appear in the results. Metrics are split into Counts and Rates; the selection counter next to the Metrics header shows how many are currently active. Defaults: Sent, Delivered, Delivery Rate, Open Rate, Click-Through Rate.
Counts
Metric | What it counts |
Sent | The message was handed over to the provider and received a message ID. Skipped messages — those never sent because of an unsubscribe, a frequency cap and so on — are not counted here and do not appear anywhere in this report. |
Delivered | Delivery confirmation received from the provider or channel. |
Opened | The message was opened. For email this is the SES tracking pixel; opens from bots and scanners are discarded by user agent. |
Clicked | A link inside the message was clicked. |
Bounced | Hard bounce — a permanent failure such as a non-existent mailbox or domain. Email only. |
Soft Bounced | Temporary failure — mailbox full, recipient server unavailable, and similar. Email only. |
Complaint | The recipient marked the message as spam in their mail client. Email only. |
Unsubscribed | The recipient followed the unsubscribe link in the email, or was unsubscribed through the API. Email only. |
Failed | An internal processing error on the InTarget side: the message was already in the pipeline and processing broke. |
Rates
All rates are rounded to two decimal places.
Rate | Formula | Counted across |
Delivery Rate | Delivered ÷ Sent | All channels except Viber and Telegram |
Open Rate | Opened ÷ Delivered, falling back to Sent when Delivered is 0 | Email, WhatsApp, Facebook, Instagram |
Click-Through Rate | Clicked ÷ Delivered, falling back to Sent when Delivered is 0 | Email, SMS, Push |
Click-To-Open Rate | Clicked ÷ Opened | Email only |
Bounce Rate | (Bounced + Soft Bounced) ÷ Sent | Email only |
Unsubscribe Rate | Unsubscribed ÷ Delivered (no fallback to Sent) | Email only |
The fallback on Open Rate and Click-Through Rate exists for SMS, Push and WhatsApp, where the gateway often sends no delivery receipts at all. Without it, those rates would collapse to a dash even when clicks are clearly coming in.
What Each Channel Reports
Use this table to sanity-check any empty cell before reporting a bug.
Channel | Sent | Delivered | Opened | Clicked | Bounced / Soft Bounced / Complaint / Unsubscribed |
✓ | ✓ | ✓ | ✓ | ✓ | |
SMS | ✓ | ✓ | — | ✓ | — |
Push | ✓ | ✓ | — | ✓ | — |
✓ | ✓ | ✓ | — | — | |
✓ | ✓ | ✓ | — | — | |
✓ | ✓ | ✓ | — | — | |
Webhook | ✓ | ✓ | — | — | — |
On-site | ✓ | ✓ | — | — | — |
Viber | ✓ | — | — | — | — |
Telegram | ✓ | — | — | — | — |
In practice: there is no Open Rate for SMS and Push — those channels have no concept of an open, which is why their CTR is calculated from deliveries instead. Click-To-Open Rate exists for email only. Viber and Telegram report Sent and nothing else, so they are excluded from Delivery Rate too.
Add Filter
Click Add filter to narrow the dataset further. Three conditions are available, all in the Message group.
Condition | Operators | Input |
Campaign |
| Dropdown of your campaigns, multiple select |
Campaign Name |
| Free text |
Step |
| Free text, separate step IDs with a comma |
Operator reference:
IN— matches any value from the listNOT IN— excludes any value from the listILIKE— case-insensitive partial match (contains)NOT ILIKE— excludes partial matches, case-insensitive
Where to find a Step ID. Set Group to Message and run the report — the table then shows Step and Message columns. Take the ID from there and paste it into the Step condition.
Exporting Data
The report can be exported and downloaded as a file, the same way as the other Analytics reports. The export reflects all active filters and the selected metrics.
Tips & Things to Know
A dash is not a zero. When the denominator is 0 or empty, the cell shows
—. When the numerator is 0 but the denominator is real, you get0.00%. Read a dash as "no data reported", not "nobody engaged".Delivery Rate follows the same rule. If Delivered is 0, Delivery Rate shows a dash rather than
0%— not every gateway sends delivery receipts, and0%would wrongly read as "nothing arrived".Campaign Status defaults to
Started. AddStopped,PausedorArchivedto the filter when you're analysing campaigns that have already finished.Skipped messages are invisible here. Messages that were never sent because of an unsubscribe or a frequency cap are not part of Sent and do not show up in any column.
Data is refreshed on a schedule, with a delay of up to an hour. If a send you just triggered isn't there yet, wait for the next refresh before investigating.
Rates are rounded to two decimal places.

