Engagement

Campaigns

Campaigns let you send targeted communications to your WiFi user base — promotional messages, re-engagement emails, surveys, announcements, and more. Segment your audience, schedule delivery, and track performance from a single place.

'alt' => 'Dashboard overview', 'caption' => 'The default Kiwire dashboard layout', 'screenshot' => true, 'class' => '', ]) Drop images into: public/assets/img/docs/{page}/{filename} --}}
Image not uploaded yet public/assets/img/docs/campaigns/overview.png
The Campaigns grid — all campaigns with status badges, channel icons, and quick-action buttons.

Campaign Types

Kiwire supports four delivery channels. The connector for each channel must be configured before campaigns of that type can be sent.

TypeChannelRequired Connector
emailBulk email with HTML content and subject lineSMTP Connector
smsPlain-text SMS messagesSMS Connector
whatsappWhatsApp messages using approved message templatesWhatsApp Connector
pushIn-portal notification shown on the captive portal on the user's next visitNo connector required

If a required connector is not configured, the campaign type will be disabled in the create form. Configure the relevant connector under Connectors first.

Campaign Fields

FieldDescription
nameInternal campaign name — shown in the admin grid only, not sent to users
typeDelivery channel: email, sms, whatsapp, or push
statusLifecycle stage: draftscheduledsendingsent · also paused if manually halted mid-send
subjectEmail subject line (email campaigns only)
bodyMessage content — rich HTML editor for email, plain text for SMS/WhatsApp/push
schedule_atWhen to send — leave blank to send immediately on publish, or pick a future date and time
target_segmentAudience filter — controls which users receive the campaign (see Audience Segmentation below)
sent_countNumber of messages successfully sent (populated after sending)
failed_countNumber of messages that could not be delivered (see Delivery Log for details)

Audience Segmentation

Target your campaign to specific subsets of your WiFi user base using the segment filters:

FilterDescription
All UsersEvery active user account in the tenant
By ProfileOnly users subscribed to one or more selected access profiles
By ZoneUsers whose allowed zone matches one or more selected zones
By TagUsers with a specific tag label on their account
By Registration DateUsers who registered within a selected date range
By Last LoginUsers who last logged in within (or before) a specified number of days — useful for re-engagement campaigns

The campaign form shows an estimated recipient count as you adjust the segment filters — no need to run the campaign to know how many users will receive it.

'alt' => 'Dashboard overview', 'caption' => 'The default Kiwire dashboard layout', 'screenshot' => true, 'class' => '', ]) Drop images into: public/assets/img/docs/{page}/{filename} --}}
Image not uploaded yet public/assets/img/docs/campaigns/segment-filters.png
Segment filters — combine profile, zone, and last-login criteria to target the right users.

Template Variables

Use dynamic variables in your message body or subject line. They are replaced with each user's actual data at send time:

VariableReplaced With
{{username}}The user's login username
{{fullname}}The user's full name (from their profile)
{{expiry}}The account expiry date, formatted as DD/MM/YYYY

Send Now vs Schedule

When creating or editing a campaign:

  • Send Immediately — Leave schedule_at blank and click Publish. Kiwire queues all messages immediately. Large campaigns may take several minutes to complete.
  • Scheduled Delivery — Set a future schedule_at date and time. Kiwire will start processing at the specified time. You can modify or cancel a scheduled campaign before it starts sending.

Once a campaign enters sending status, individual messages already dispatched to the queue cannot be recalled. Pause the campaign immediately if you discover an error — unprocessed messages will be held until you resume or cancel.

Delivery Statistics

After sending, open a campaign to view its delivery report:

MetricDescription
SentTotal messages submitted to the delivery channel
DeliveredMessages confirmed delivered by the channel (where delivery receipts are supported)
FailedMessages that could not be delivered — click to view per-recipient errors in the Delivery Log
Open RatePercentage of email recipients who opened the message (email campaigns only; requires open-tracking pixel)

Full per-message delivery details are available under Reporting → Delivery Log, filterable by campaign name. Use this to troubleshoot specific users who report not receiving a message.

Required Permissions

view-campaigns · create-campaigns · update-campaigns · delete-campaigns