Skip to content

Campaigns and surveys ​

Reaching guests through the portal after they are online.

Campaigns ​

A campaign lives under Grow › Campaign and is one of two things, chosen by its action type: a display ad — an image or short video shown somewhere in the portal — or a notification — a message pushed through a connector (SMTP, SMS or WhatsApp) using one of your message templates.

Display ads can be targeted at everyone or at specific zones, and take an ad type of image or video, with separate uploads for desktop, tablet and mobile so the creative fits the screen it lands on. Notifications can additionally be targeted at a profile, and need a trigger — first login or disconnect (at connect the guest is not known yet) — either firing always or only within a time window (specific hours and days of the week). Every campaign also has a status (active, inactive or draft), an optional start/end date range, and optional caps — maximum clicks and maximum impressions — after which it stops showing even if the date range hasn't ended. The campaign's order controls which campaign wins when more than one qualifies at once.

How notifications are sent ​

When a guest logs in for the first time, or a session ends, every active notification campaign for that event is checked: its dates, hours and days, its target (zone or profile) and its cap. The campaign's message template is then sent through its connector, with the guest's name, username and zone filled in. Each guest gets each campaign at most once a day, and a guest without an email address (for email) or phone number (for SMS and WhatsApp) is skipped. Every send counts towards the campaign's impressions.

If Only send marketing messages to guests who agreed to receive them is switched on (Admin → System → Settings → Consent & Privacy), a guest is messaged only when they have given marketing consent for that channel.

Creating or editing a campaign needs the create-campaigns / edit-campaigns permission (module Engagement - Campaign); notification campaigns won't show as an option unless you have at least one enabled SMTP, SMS or WhatsApp connector, and a notification needs a message template of the same type as the connector (an email template for SMTP, and so on).

Surveys ​

Surveys live at Grow › Survey (module Engagement - Survey). A survey itself is just a name, description, enabled/disabled status and a submit mode — "always" asks on every applicable login, "session" asks once per session, "MAC" asks once per device (MAC address) and then leaves it alone. The questions themselves are edited and saved as a separate step rather than with the survey's other fields — so a survey can exist with no questions yet, and adding or reordering questions doesn't touch the survey's name or status. Each survey also gets a short random unique ID, used to reference it from wherever it's wired into the portal journey.

Automatic messages ​

Grow → Messages → Automatic messages sends a message template on a schedule, without anyone pressing send. Each rule says:

  • When: a number of days before access expires, on the day it expires, or after it expired; with the ISP module on, also before an ISP invoice is due or after it is overdue.
  • Who: everyone with an expiry date, only ISP subscribers, or people on chosen profiles.
  • Channel: email, WhatsApp, SMS, or best available (email first, then WhatsApp, then SMS, using whichever the person has details for and you have a connector for).
  • Send at: the hour of the day, in your time zone.
  • Template: one per channel, from Grow → Messages → Message Templates with the purpose Expiry reminder (or ISP payment reminder for invoice rules). Without a template a short standard message is sent.

Each person gets each message once per occasion, even if the rule is edited or run again. Who would get it today? shows how many people a rule would reach, Send today's messages now runs it straight away, and the Send log tab lists every send with its result. Common rules: 7 days and 1 day before expiry, and 1 day after expiry with a renewal offer.

Where the results appear ​

Campaign and survey activity is not on the Campaign/Survey pages themselves — it shows up under Reporting › Engagement: impression summary and click summary for display ads, offline summary for notification campaigns that were queued but not yet delivered, and survey response for what guests actually answered. Each of those reports has its own data, detail and export views, and a matching view-report-campaign-* permission, so a role can see the engagement pages without seeing the reporting on how they performed, or the other way around.

There is also a separate, newer feature in the same area worth knowing about: KAIA Marketing (/admin/kaia/marketing-ai, permission manage-marketing-ai), where an AI agent files marketing proposals — sends or campaign drafts — for a person to approve, reject or execute rather than authoring campaigns directly. It's a distinct system from the Campaign/Survey pages on this page: proposals, not campaigns, and every guest-facing send it executes is checked against that guest's consent record first. As of this writing the consent module itself hasn't shipped, so that check fails closed — no consent record means no message goes out, on any channel — which makes KAIA Marketing effectively send-blocked until consent tracking is in place, even though the proposal review flow works today.

Last updated:

Kiwire platform documentation