Subscription types
Maestra distinguishes three states for any channel or topic:| State | What it means |
|---|---|
| Explicit | The subscription value was set directly for this channel or topic. |
| Implicit | No direct value exists for the topic, so it inherits the value from its parent channel. |
| No data | No subscription information has been received at any level. |
Explicit and implicit subscriptions are treated identically for campaigns, segments, filters, and workflows. An implicit subscription is just as valid for sending as an explicit one — and an implicit unsubscribe will stop sends just like an explicit unsubscribe.
How updates propagate by mechanism
The same channel-level change can produce different results depending on how it reaches Maestra. The sections below walk through each mechanism.File import (bulk upload)
When you subscribe a customer to a channel by importing a file:- The channel is marked as an explicit subscription.
- Every topic under that channel becomes an implicit subscription, inheriting the channel’s value.
- The channel is marked as an explicit unsubscribe.
- Every topic under that channel becomes an implicit unsubscribe.
Workflows
Workflows can change subscription status as part of an automated scenario (for example, after a customer completes a form or hits a trigger).- Channel-level subscribe and unsubscribe actions behave the same way as a file import: the channel becomes explicit, and topics that had no explicit value become implicit with the new channel value.
- Not every channel supports every action in workflows. Where the action is available, the explicit/implicit rules above apply.
- Explicit topic subscriptions are preserved and are not rewritten by a channel-level workflow step.
Unsubscribe from a campaign
When a customer unsubscribes through a link in one of your campaigns (or marks the message as spam), the result depends on which link they used:- Channel unsubscribe link — creates an explicit unsubscribe on the channel. All topics that did not have an explicit value become implicit unsubscribes.
- Topic unsubscribe link — creates an explicit unsubscribe on that specific topic only. The channel and other topics are not changed.
API operations
API calls that update subscription data follow the same explicit/implicit logic as a file import, with one important difference: For unsubscribe requests, the API writes an explicit channel unsubscribe and turns inheriting topics into implicit unsubscribes, the same as the other mechanisms.Manual editing in the admin panel
When a Maestra user edits a customer’s channel subscription directly from the customer card:- The channel value is updated to explicit.
- Topics that were implicit inherit the channel’s new value (they remain implicit, with the updated state).
- Topics that were explicit keep their existing value. Manual channel edits never overwrite explicit topic data.
Adding new topics to a project
When you add a new topic to a channel that already has customer data:- Every existing customer receives an implicit subscription value for the new topic, matching their current channel state.
- If a customer is explicitly subscribed to the channel, they will be implicitly subscribed to the new topic.
- If a customer is explicitly unsubscribed from the channel, they will be implicitly unsubscribed from the new topic.
Change history
The customer’s change history records only explicit changes. Implicit updates — for example, a topic flipping because the parent channel was changed — do not appear as separate events in the history. To trace why a customer’s effective subscription on a topic shifted, look at the most recent explicit change on the parent channel.Effect on campaigns, segments, and filters
For the purpose of deciding whether to send a message:- An implicit subscribe lets the customer receive campaigns just like an explicit subscribe.
- An implicit unsubscribe blocks sends just like an explicit unsubscribe.
Because implicit topic data follows the channel, the cleanest way to manage broad opt-ins and opt-outs is at the channel level. Use explicit topic edits only when a customer’s preference for a single topic should differ from their overall channel preference.
Quick reference
| Mechanism | Channel result | Topic result (no prior explicit value) | Topic result (prior explicit value) |
|---|---|---|---|
| File import | Explicit | Implicit, inherits channel | Unchanged |
| Workflow | Explicit | Implicit, inherits channel | Unchanged |
| Campaign channel unsubscribe | Explicit unsubscribe | Implicit unsubscribe | Unchanged |
| Campaign topic unsubscribe | Unchanged | Explicit unsubscribe on that topic only | Explicit unsubscribe on that topic only |
| API subscribe | Explicit (skipped if already explicit) | Implicit, inherits channel | Unchanged |
| API unsubscribe | Explicit unsubscribe | Implicit unsubscribe | Unchanged |
| Manual edit in admin panel | Explicit | Implicit, inherits channel | Unchanged |
| New topic added to channel | n/a | Implicit, inherits current channel state | n/a |