Skip to main content

Importing reward methods for composable campaigns

Composable Campaigns are a new campaign type in Spaaza Console. Unlike campaign types that define one reward outcome, a Composable Campaign can contain multiple reward methods. Each reward method can have its own value, delivery settings, redemption restrictions, limits, and customer-facing content.

Use the CSV importer when you need to add several reward methods, such as the prize pool for a scratch-card campaign. The import adds editable drafts to the campaign form. It does not save anything immediately: the reward methods and any new redeem groups are created only when you click Create Campaign or Save Changes on the campaign form.

Reward method CSV upload step in Spaaza Console

Expected result

  • Every valid CSV reward method is appended to the campaign as an editable draft.
  • Each reward method can have an optional Owner code for an internal identifier; saved owner codes are shown on reward summary cards and reward method overviews.
  • A campaign with one reward method shows its complete editor in the campaign form. A campaign with multiple reward methods adds Campaign and Reward Methods (n) tabs.
  • Existing reward methods remain unchanged.
  • New redeem product groups are prepared with their GTINs and connected to the relevant imported reward.
  • No imported data is saved until you save the Composable Campaign.

Import reward methods in Console

Step 1: Download the template

  1. For a new campaign, choose Composable | Basket or Composable | Interaction in the create campaign window. Choose the context that matches how the campaign will run; it cannot be changed after creation and remains visible in the campaign header.
  2. Open Reward methods, then click Import from CSV. You can also open an existing editable Composable Campaign.
  3. Click Download template, or download the reward method CSV template here.
  4. Keep every column header exactly as supplied. The template also contains an example of every supported reward method type; replace or remove the example rows before importing your own rewards.
Required headers and required values

Every column header in the template is required, even when its cells are optional. Do not rename a header or add * or another marker to it.

The values required in each row depend on the reward method type and campaign settings. The conditional requirements are listed below.

Step 2: Prepare the CSV

Each populated Reward Method Type starts a new reward method. Put scalar settings such as owner code, priority, value, voucher settings, limits, and metadata on this starting row.

Save the completed file as CSV. Choose CSV UTF-8 when your spreadsheet application offers it. Console also reads the common Western European Windows CSV encoding used by Excel, including accented characters such as ë.

A row with a blank Reward Method Type continues the reward method above it. Continuation rows can add another:

  • existing redeem group;
  • new redeem group or GTIN;
  • store owner code;
  • region;
  • format; or
  • currency.

Other populated fields on a continuation row are rejected. Repeated values are deduplicated during import.

Values that are required or conditionally required

ValueWhen it is required
Reward Method TypeOn the first row of every reward method. Leave it blank only on continuation rows.
Usage LimitFor every reward method when Rewards handling is Random draw.
Recipient WalletFor wallet_contribution.
Group nameBefore setting group options or adding GTINs for a new redeem group.
Assigned GTINsAt least one GTIN is required for every new redeem group.
Budget Period Quantity and Budget Period UnitIf either value is supplied, both must be supplied.
Usage Cost WalletWhen Usage Cost is supplied.

All other values are optional. A blank optional cell keeps the same default used when adding that reward method manually, or leaves the optional restriction or metadata unset.

Supported reward method types

Reward Method TypeResultCampaign context
instant_fixed_priceApplies a fixed item price in the current basket.Basket only
instant_fixed_discountApplies a fixed discount in the current basket.Basket only
instant_percentageApplies a percentage discount in the current basket.Basket only
deferred_fixed_priceIssues a fixed-price voucher for later redemption.Basket, interaction, or internal
deferred_fixed_discountIssues a fixed-discount voucher for later redemption.Basket, interaction, or internal
deferred_percentageIssues a percentage voucher for later redemption.Basket, interaction, or internal
wallet_contributionAdds an entry to an active credit, points, or entries wallet. Item Count stamp wallets are not yet supported in Composable Campaigns.Basket, interaction, or internal
honour_voucherIssues an externally honoured code or prize reference.Basket, interaction, or internal

Instant reward methods are invalid outside the basket context. Reward restrictions are not available in the internal context.

Add new redeem groups

  1. Enter a name in Group name and one product code in Assigned GTINs.
  2. Set Required matches and Exclude items in group on the same row, or leave them blank to use 0 and No.
  3. Add more GTINs on continuation rows with Group name blank. Each Assigned GTINs cell must contain exactly one GTIN.

Starting another Group name closes the preceding group. You cannot reopen an earlier group in the same reward method. The same name and GTINs used under another reward method create a separate group for that reward.

Step 3: Upload and review

  1. In the import wizard, click the upload area and choose your completed CSV.
  2. In Review imported reward methods, inspect every parsed reward, its configuration, delivery settings, restrictions, content, and validation result.
  3. If any reward is marked Invalid, click Choose another file, correct the CSV, and upload it again. One invalid reward blocks the entire file.
  4. Review any warnings. Warnings do not block the import.
  5. Click Add reward methods to campaign.

Reward method CSV review step in Spaaza Console

The imported reward methods now appear as editable drafts. When the campaign contains multiple rewards, Console opens the Reward Methods (n) tab. Use Search reward methods to filter by details including title, owner code, type, value, wallet, or ID, then select a summary card to edit that reward in the right column. The selected card stays highlighted beside its form, so you can move between rewards without scrolling through every full editor.

Use the Campaign tab to return to the campaign settings. Existing reward methods stay in place, and importing the same file again appends another copy. Closing or cancelling the wizard before the final action leaves the campaign unchanged.

Composable campaign Reward Methods tab with summary cards and selected reward editor

Step 4: Save the campaign

  1. Review each imported reward. If the campaign has multiple rewards, open Reward Methods (n) and select each summary card to review or change its complete configuration.
  2. Click Create Campaign for a new campaign or Save Changes for an existing campaign.
  3. Confirm that the saved campaign contains the expected reward methods and redeem groups.

On the saved campaign overview, one reward method appears as a normal overview card. When there are multiple reward methods, use the search and summary cards in the left column to choose a reward; its overview card appears in the right column. Reward settings use the same readable labels as the campaign form, and referenced wallets and customer segments appear by name with links to their overview pages.

The normal campaign save creates any CSV-defined redeem groups, connects them to their reward methods, and saves the complete campaign. If you leave the page without saving the campaign, the imported drafts are lost.

CSV field reference

The Status column below describes whether a cell value is optional or conditional. All template headers remain required.

Core configuration

CSV columnStatusAccepted value and behaviour
Reward Method TypeRequired on reward-start rowsOne of the eight type values listed above. A blank cell continues the reward method above it.
Owner CodeOptionalAn internal identifier for this reward method.
PriorityOptionalA whole number of 0 or more. Blank uses priority 1.
Usage LimitConditionalA positive whole number. Required for Random draw; otherwise blank means unlimited.
ValueOptionalA number of 0 or more. Percentage methods use a decimal from 0 to 1 with up to three decimal places, such as 0.1 for 10% or 0.983 for 98.3%.
Value Calculation RuleOptional; not supported for honour_voucheritems_value, basket_value, fixed_value, fixed_value_per_basket, or fixed_value_per_spend. The three fixed_value rules are supported only for wallet_contribution.
Spend StepConditionalA positive whole number used only with fixed_value_per_spend. Blank uses 1.
Distribution RuleOptional; not supported for honour_voucherall_items, cheapest_item, or most_expensive.
SelectionOptional; not supported for honour_voucherhigh_to_low or low_to_high.

Type-specific settings

CSV columnStatusAccepted value and behaviour
Recipient WalletRequired for wallet_contributionThe numeric ID or unique, case-insensitive title of an active credit, points, or entries wallet. Item Count stamp wallets are rejected because they are not yet supported as Composable Campaign recipients.
Honour CodeOptional for honour_voucher onlyThe externally honoured code or prize reference.
Voucher Claimed By DefaultOptional for deferred reward types onlyA boolean value. Blank uses No.
Voucher Expiry SecondsOptional for deferred reward types onlyA positive whole number. Do not combine it with Voucher Expiry Date.
Voucher Expiry DateOptional for deferred reward types onlyA non-past date in YYYY-MM-DD format. Do not combine it with Voucher Expiry Seconds.
Redeem On Promotional ItemsOptional for instant and deferred reward typesA boolean value. Blank uses Yes.
Return Reclaims Earned RewardsOptional for wallet_contribution onlyA boolean value. Blank uses Yes.

Boolean fields accept Yes/No, True/False, and 1/0.

Redeem product groups

These columns create a basket-item redemption restriction and are unavailable in the internal context.

CSV columnStatusAccepted value and behaviour
Max Basket Items ConsideredOptionalA positive whole number that caps how many matching basket items the reward is applied to at redemption. Blank considers all matching items.
Existing Redeem GroupOptional; repeatableThe numeric ID or unique, case-insensitive name of an existing redeem group.
Group nameConditionalStarts a new CSV-defined redeem group. It is required before group options or GTINs can be supplied.
Required matchesOptional on the group-start rowA whole number of 0 or more. Blank uses 0.
Exclude items in groupOptional on the group-start rowA boolean value. Blank uses No.
Assigned GTINsRequired for a new group; repeatableExactly one GTIN per cell. Every new group must contain at least one.

Business and currency restrictions

These columns are optional, repeatable across continuation rows, and unavailable in the internal context. Values must match options available to the current business.

CSV columnAccepted value and behaviour
Store owner codeA store owner code that resolves to one unique store.
RegionsThe name of an available business region.
FormatsThe name of an available business format.
CurrenciesAn available currency code, such as EUR.

Budget, limit, cost, and chance restrictions

These columns are optional and unavailable in the internal context.

CSV columnStatusAccepted value and behaviour
BudgetOptionalA number of 0 or more. A budget on a non-voucher reward produces a warning because it currently blocks only voucher-issuing reward methods.
Budget Period QuantityConditionalA positive whole number. Must be supplied together with Budget Period Unit.
Budget Period UnitConditionalyear, month, week, day, or hour. Must be supplied together with Budget Period Quantity.
Reward Limit QuantityOptionalA positive whole number. Supplying any reward-limit field enables the restriction; blank uses 1.
Reward Limit UnitOptionalyear, month, week, day, hour, or calendar_day. Blank uses month when the restriction is enabled.
Reward Limit ScaleOptionalA positive whole number. Blank uses 1 when the restriction is enabled.
Usage Cost WalletConditionalThe numeric ID or unique, case-insensitive title of an active wallet. Required when Usage Cost is supplied.
Usage CostOptionalA positive whole number. Blank uses 1 when Usage Cost Wallet enables the restriction.
Win ChanceOptionalA decimal from 0 to 1, such as 0.25 for a 25% chance.

Reward metadata

CSV columnStatusAccepted value and behaviour
Reward TitleOptionalThe customer-facing reward title.
Reward SubtitleOptionalThe customer-facing reward subtitle.
Reward DescriptionOptionalThe customer-facing reward description.
Reward DetailsOptionalAdditional reward details.
Reward Log MessageOptionalThe message used when the reward is logged.
Reward Image URLOptionalAn absolute URL beginning with http:// or https://.

Do not populate a type-specific field when it is unavailable for the selected reward method type. The review step marks that reward method invalid.

If something looks different

  • If Import from CSV is disabled, check whether you are viewing a read-only internal-context campaign.
  • If the wizard stays on Upload, correct the template-level errors shown below the upload area. Missing, renamed, extra, or duplicated headers are not accepted.
  • If Add reward methods to campaign is disabled, at least one reward method is invalid. Use Choose another file, correct the reported rows, and upload the replacement file.
  • If a wallet, store, or existing redeem group cannot be resolved by name, use its numeric ID where supported or make the visible name unique.
  • If an Item Count wallet is rejected as a recipient, choose a credit, points, or entries wallet. Item Count stamp wallets are not yet supported by Composable Campaign reward methods or CSV imports.
  • If an instant reward type is invalid, confirm the Composable Campaign uses the basket context.
  • If text already contains the replacement character before upload, return to the original source data and export it again. The original character cannot be recovered from .
  • If imported reward methods disappear after leaving the page, repeat the import and save the campaign before navigating away.