Page tree


You can create and manage customizable promotion codes to lead efficient loyalty programs using Altcraft Loyalty tool. These promo codes can be used in variety of cases where you want to give your customers personal offers or set limited access to your services.

  • Personal promo code can be attached to certain customer profile for personal offers.
  • Universal promo code can be attached to several profiles, It can be used to organize massive marketing campaigns.

Promo codes can be attached to customers manually or automatically within campaigns and workflows. Promo codes are generated in Loyalty program interface, or they can be imported from file.

You can use API for advanced promo codes configuration. For example, you can track customers who used their offer. Loyalty program API documentation is available here.

Managing promo codes

Go to the Loyalty section in the main menu to open the list of existing loyalty programs. Using context menu, you can clone, remove, activate or deactivate, and view the list of promo codes created in a loyalty program. To edit a program, click on its title.

To create a new program, click + Create on the top panel.

Promo code data

Each promo code contains the following information:

  • Promo code creation date, loyalty program ID
  • Promo code attachment sign and date
  • Promo code life time
  • Promo code activation sign and date
  • Additional data fields

General settings

In general settings, enter loyalty program name, its short name, and set access group if necessary.

Loyalty program can be used in templates by its short name in variables menu or macro {}.

Loyalty program validity range defines time when promotion codes can be sent to your customers. If a code is outside validity range, messages containing it won't be sent to recipients. This parameter does not affect promo codes that have been already sent to the customers. Select dates range and press Apply button.

At the moment, only one loyalty program type is available - promo codes.

You can import your own custom promotion codes by pressing Import from file button or via a special API call. The other option is to generate promo codes right away in Altcraft platform.

Once imported or generated the are processed in a same manner. In case you generate promo codes - several formatting options are available.

Generating promo codes

If you plan to import promo codes from file, you can skip this paragraph.

You can configure promo codes generation in Promocodes generation type section.

Generating by template

Altcraft Platform has its own tool to generate promo codes, which you can use by selecting Generate by template option. This tool can be useful if you do not have your own system for configuring promo codes, or promo codes list.

Select symbols combination you want to use from the </> drop-down menu:

Generating by remote service

An alternate way to generate promo codes is a request to external service, which will create promo codes. To use it, select Remote service option in the drop-down menu:

Enter service URL and max promo codes batch in one query. POST query with JSON data of the following format is used:

    account_id: Number (Account identifier),
    loyalty_id: Number (Loyalty program identifier),
    loyalty_name: Line (Loyalty program name),
    loyalty_shortname: Line (Loyalty program short name),
    campaign_id: Number (Campaign identifier, if it requests promo codes),
    campaign_name: Line (Campaign name, if it requests promo codes),
    workflow_id: Number (Workflow identifier, if it requests promo codes),
    workflow_name: Line (Workflow name, if it requests promo codes),
    count: Number (Amount of promo codes to be generated),
    is_test: Boolean (Test condition),
    fields: {
        <Field name>: <Value

If promo codes are requested by campaign or workflow, their identifiers will be given in request. If is_test flag is true, promo code must be used only for preview. All loyalty program fields will be given with the request. 

Promo codes list in JSON format will be returned:

    codes: Lines array (promo codes)

If it is necessary to return promo codes with custom fields values, promo codes must be returned as objects array:

    codes: Objects array {
        code: Line (promo code),
        fields: {
            <Field name>: <Value>

You can use Generate button in Promo code settings block to check generating service. Request with is_test flag will be sent to the service. If service does not reply, or replies with HTTP error, several request attempts will be made, and then error will be returned.

Promo codes settings

  • A workflow can create promotional codes — Workflow can create promo codes if there is not enough codes generated. Codes will be generated according to formatting scheme
  • A campaign can create promotional codes — Campaign can create promo codes if there is not enough codes generated. Codes will be generated according to formatting scheme
  • One promotional code can be attached to multiple profiles — With this option, you can use one promo code for a group of customers. The campaign or scenario in this case will assign the first active promotional code of the loyalty program.
  • Automatically link promo codes to profile — When generating or importing from a file, promotional codes will be assigned to certain profiles.
  • Promo codes limit — Limit can be set for total promo code count
  • Time to live — Time can be set for promo codes to be alive. When a specified time after generation runs away, promo codes will automatically get expired status.

Promo code lifetime can be more than loyalty program validity range. If loyalty program is finished, promo codes can not be attached and sent to customers, but previously sent codes can be used by customers until their lifetime is not finished.

Automatically link promo codes to profile

Select the database with customers to whom you want to assign promotional codes. Next, specify the profiles matching mode and the promocode field. The matching mode determines what data the platform will use to search for profiles. The following modes are available:

  • Email
  • Phone
  • By custom field

If the value in the promo code field matches the value of the field specified as the matching mode, the platform will bind the promo code to the found profile.

The promotional code field is created in the Custom fields section at the bottom of the page.

Generation from a template

After configuring generation options, press Generate button. Modal window with promo code preview will open. You can select promo codes quantity and select values for custom fields, if they are used in loyalty program. After confirming promo codes generation they will be updated in the interface at once, or a task for generating promo codes will be created.

To automatically link promo codes to profiles during generation, use the matching mode by a custom field. Create an additional promo code field and select it in the matching settings. Specify a default value. If the value of the custom field in the database matches the value of the custom field of the promo code, the promo code will be assigned to the found profile.

In the example below, promo codes will be assigned to profiles that have a custom field "shop_name" containing the value "Awesome_Books":

Import from file

Press Import from file button to upload XLS or CSV file into the platform, select column with promo codes and press the button at the top part of the page to launch import:

To automatically link promo codes to profiles during import from a file, set up columns matching. As the source column, select the column in the file that will be used to search for the required profile:

Export to file

Using Export to file, you can download promo codes and fields of profiles, which promo codes were attached to. Select profile fields in the drop-down menu and press OK button to export file in CSV format:

Promo codes browsing

Press Browse button to open list of promo codes created in loyalty program. Brief information will be displayed for each promo code. You can remove any promo code manually from the list:

Custom fields

Custom fields can be requested during promo codes generating and they will be sent to external service, if it is used. If necessary, these fields can be saved in the promo code. If external service returns fields with the same name, they will be also updated in promo code.

  • No labels