This document describes the concept behind the campaign business object. Campaigns are used to bundle other business objects, e.g., promotions or content. By means of campaigns it is possible to set several properties of these objects at once. Primarily, time control and user group assignment are addressed. A campaign does not only represent various marketing actions (as a business view suggests) but is more like a "clamp" around other marketing-related business objects.
The concept is addressed to both, developers and business users, who want to understand how campaigns are implemented and what is the standard use case for that feature.
A business object belongs only to one campaign at a time. This is to avoid confusion caused by overlapping campaigns. The current implementation realizes assignments for the following objects:
CAMPAIGNID
is the foreign key attribute to assign a promotion to a campaignContent assignment (components, pages = pagelets) is realized by means of the pagelet assignment framework.
A campaign is active for a certain time frame. All assigned objects are active in this time frame, too. However, it is also possible that the assigned object will have a shorter activation period within the campaign's time frame. Per default an assigned promotion uses the campaign's time frame, but it can also use its own time frame. The promotion's time frame needs to be within the campaign's time frame.
Furthermore, a campaign can be enabled or disabled. An assignment of a business object to a disabled campaign means that the business object gets disabled or invisible as well.
The visibility of a campaign is managed by means of target user group assignments. Target user groups can be customer segments or user groups of affiliate partners. Furthermore, a business object can be configured to use its own user group.
A campaign has exactly one target group. All user group assignments in fact are realized by assignment of this campaign target user group. The following table illustrates a campaign record, semantic mapping of campaign UUID to target user group ID by "CAMPAIGN_" + <CampaignUUID> and a resulting user group assignment of the "IG_NewCustomer" user group to that campaign.
Campaign | UserGroup | UserGroupAssignment |
---|---|---|
UUID: xyz123 | ID: CAMPAIGN_xyz123 | ParentUserGroupID: CAMPAIGN_xyz123 |
ID: IG_NewCustomer | ChildUserGroupID: IG_NewCustomer |
Customer segments that can be assigned to a campaign are taken from the customer segmentation service. When a customer segment is assigned to a campaign, a hidden consumer and user group are created for that customer segment, if they don't already exist. The customer segment is assigned through that user group.
Special offers to new customers
For instance, to make a web shop successful you have to acquire and bind new customers. That is why a shop manager decides to make special offers to new customers. In the past the marketing department of that shop already created some sophisticated promotions. For reasons of efficiency, existing promotions should be reused. That is why a campaign is created. The campaign should be active only for one month. At this time, a banner should be visible at the main entry page of the web shop.
The following needs to be done: