Marketing

scipio-erp-crm-marketing-campaign
scipio-erp-crm-marketing-campaign

The Marketing (“CRM » Marketing”) screens can be used to create and manage:


Campaigns#

Marketing campaigns (“CRM » Marketing » Campaigns”) are a great way to organize a combination of advertising or communication events. It is possible to link tracking codes, promotions, prices, and sales opportunities directly to them. The campaign screen allows the creation or editing of existing campaigns.


Promotions#

Promotions (“CRM » Marketing » Promotions”) are a good way to raise brand-awareness or boost sales. Promotions grant special offers that affect sales by an underlying ruleset. There are many examples for such offers, e.g.:

  • A happy-hour with reduced prices on beverages during otherwise unpopular times of the day
  • Buy-1-Get-2 specials
  • Discount Prices
  • Promo-codes (Vouchers)
  • Give-aways
  • etc.

The possibilities are sheer limitless. The system itself differentiates between “promotions” and “promo codes”, whereas the latter requires the user to enter a specific code for a promotion to apply.

Promotion#

Promotions consist of a core-attributes and an underlying rule-set, which determine where and how they are applied. The core attributes are:

  • Promo Name (a fitting promotion name – displayed during checkout, on order-statement & in cart)
  • Promo Text (visible in webstore)
  • User Entered (will modify availability in the webstore)
  • Promo Show To Customer (modifies whether promo is shown on promo-list in webstore)
  • Req. Code (requires a promo-code)
  • Use Limit Per Order (how often a code can be reused per order)
  • Use Limit Per Customer (how often a code can be reused per customer)
  • Use Limit Per Promotion (how often a code can be reused per promotion)
  • Billback Factor
  • Override Org User Id

scipio-erp-crm-edit-promo-rules
scipio-erp-crm-edit-promo-rules

Once created, a ruleset is required (“Rules”), which determines how and when to apply the promotion. The following rules can be applied:

  • Limit promotion to or exclude from products of a specific category (and their subcategories or product-group)
  • Limit promotions to or exclude a specific product
  • Conditions
    • If
      • Cart-Sub-Total
      • Total Amount of product
      • X Amount of product
      • X Quantity of Product
      • Account Days since created
      • Party
      • Party Group Member
      • Party Classification
      • Role Type
      • Order Sub-Total X in Last Y months
      • Promotion Recurrence
      • Order sub-total X since beginning of current year
      • Order sub-total X last year
      • List Price minus Unit Price (Amount)
      • List Price minus Unit Price (Percent)
      • Call Service
    • comparator
      • is
      • is not
      • is less than
      • is less than or equal to
      • is greater than
      • is greater than or equal to
    • Value
    • Value 2
    • While Shipping Method is equal to
  • Action (then do the following)
    • Do
      • Gift with puchase
      • X product for Y% discount
      • X product for Y discount
      • X product for Y price
      • Order percent discount
      • order amount flat
      • Product for [special promo] price
      • Shipping X% discount
      • Call Service
      • Tax % Discount
    • of quantity
    • of amount
    • for item-id (ie: order-item # – can be used to create a discount for the third order-item of a sale)
    • for user
    • run service (function)
    • use cart-quantity

As can be seen, the combination of conditions is already quite extensive and more-conditions can be added to the database. Promos can further be limited to specific stores (“Stores”) for a limited amount of time (until date) and feature specific content, that can get displayed alongside the general description within the web-store.

Promotion Code#

Promo codes are small identifiers, which will apply a special promotion to a user. Promo codes can be assigned to specific parties and email-addresses. They always require a promotion to be applied. A promo-code has the following attributes:

  • Promo-code ID
  • Promotion ID
  • User-entered (will modify availability in the webstore)
  • Requires Email or User (will not be applied on POS or Anonymous checkouts)
  • Use Limit per code (how often a code can be reused)
  • Use Limit per customer (how often a code can be reused per customer)
  • Start- & end-date

New promo-codes can be added individually or in bulk. The system gives the option to either auto-generate a large set of promo-codes based (“Add Set of Promotion Codes”), or to upload a set of promo-codes via text-file. The text file has to be a CSV (comma-seperated) file, e.g.:

text
# A typical comment
# Now here's a list of promo codes
promo-1
promo-2
promo-3
promo-4

Segments#

Segments (“CRM » Marketing » Segments”) can be used to group customers (sales) or regional sales (markets) into groups, so that it is easier to draw conclusions for marketing efforts. A good example would be a set of user-groups, where we group customers based on their age, gender, location or perhaps even a shared history. Another example, could be the sales of a company in europe, or on the caribic islands. Regardless of the type, both segments always require a segment name and a short description. Both can be applied to specific stores, so it is easier to differentiate the sales later.

Regardless of the type, segments can have the following characteristics:

  • Geo-Locations
  • Role-Types (e.g.: all vendors, or sales representatives etc.)
  • User-classification groups (a custom identifier that allows us to cluster market segments together in groups)

Tracking#

Tracking codes (“CRM » Marketing » Tracking”) are used to identify parties based on referencing websites. A special processor is run on each request, which checks for promo-codes and then adds the value to the existing party. If the user isn’t authenticated, the promo-code will be stored in session, until he is either authenticated, or creates an anonymous order. In both cases the tracking codes are stored in the order – alongside to the user information.

To add a tracking code to a request-url, add the “trackingCodeId=%trackingCode%” parameter to the url, e.g.: https://mydomain.com/myrequest?trackingCodeId=9001

Further information

#

Tracking Code#

Tracking codes can have the following attributes:

  • Tracking Code Id
  • Description
  • Comment
  • Tracking Code Type Id (see Tracking Code Type)
  • Marketing Campaign id (assign to marketing campaign)
  • Default product catalog id (set a specific catalog in session – used to determine breadcrumbs)
  • Start- & end-date
  • Redirect-Url (Redirect the user to this url when code is detected – can be used to redirect user to specific landing-pages)
  • Override Logo (custom logo)
  • Override CSS (custom css)
  • Trackable lifetime (how long should orders be tracked by this tracking code in seconds – lifetime if nothing is specified)
  • Billable lifetime
  • Group & Sub-Group-Id (group tracking codes together)

Tracking Code Type#

Tracking Code types, can be used to identify tracking code. By default, the following are available:

  • ACCESS (access code)
  • Internal (Internal)
  • External (external)
  • PARTNER_MGD (partner managed)

The application in 4.0#

scipio-erp-marketing-manager
scipio-erp-marketing-manager

The marketing manager in 4.0: the campaigns, the contact lists and the tracking codes that measure them.

Do it with an agent#

Marketing ships an MCP server. Point your agent at the marketing webapp and it builds the list, sends it and measures what came back.

text
claude mcp add --transport http scipio-marketing "https://<host>/marketing/mcp" --header "Authorization: Bearer <token>"

One tool carries the application. Every call names the tool and one action.

  • campaign — create, update, find, contact_list_create, contact_list_party_add, contact_list_send, tracking_code_create, segment_group_create, sales_forecast_create.

Build a list and send to it#

“Make a contact list of every customer who bought a bike this year, write the mail from the service template and send it.”

The agent calls campaign:contact_list_create, campaign:contact_list_party_add per party and campaign:contact_list_send. The send is a confirmed call, because it leaves the house.

Measure the traffic#

“Give the autumn campaign its own tracking code and tell me next week what it brought in.”

The agent calls campaign:tracking_code_create, then campaign:find later. The order application attributes each order to the code.

Forecast the quarter#

“Write a sales forecast for the fourth quarter from the last three quarters.”

The agent calls campaign:sales_forecast_create. Ask the sales tools for the open pipeline first: sfa:opportunity_find on the /sfa/mcp endpoint.

The token is a user login. The agent does what that user may do, and nothing more. Every call writes one audit row. Read the security model before you hand a token out.

Ask the people who wrote it.

Support, development and training from the team that builds Scipio ERP.