Determining the attribution of a marketing campaign on sales is perhaps the "holy grail" of marketing. Determining the effectiveness of a marketing campaign is a necessary first step to deciding whether the campaign was worth running in the first place, and whether it should be repeated. Yet there is no standard accepted way to attribute revenue to campaigns and thus measure the attribution of a marketing campaign on revenue. Full Circle Campaign Attribution incorporates a plug-in framework to enable you to use custom software models to calculate campaign attribution and attribute revenue to marketing campaigns. This allows you to choose from existing reference models as they are developed, or to create one that is suitable for your own organization. The framework allows you to assign to each response the revenue generated, the current pipeline revenue, and revenue lost. This SDK assumes that you have a basic familiarity with the Full Circle Campaign Attribution product.
Campaign Attribution attributes opportunity revenue to each campaign response that is associated with the opportunity, and optionally directly to individual campaigns.
Campaign Attribution Plugin Class Architecture
Each campaign attribution model is implemented as two Apex classes. These classes may be contained in a top level class if you prefer.
The first class defines the model. Internally we refer to this as the Campaign Attribution Type, as it defines a particular type of campaign attribution model and implements the FCI_CampaignInfluenceAPI.ICampaignAttributionType interface. This class defines the name of the model and its description, along with other information to uniquely identify the model. It implements methods to create, delete and retrieve named instances of the model.
The second class defines a specific configured instance of a model and implements the FCI_CampaignInfluenceAPI.ICampaignAttributionConfiguration and FCI_CampaignInfluenceAPI.ICampaignAttributionWeightingInfo interfaces. It has attributes that describe the configuration, and methods that are called by the Campaign Attribution application in which data is provided to the configured instances for processing.
The class that implements ICampaignAttributionType is responsible for defining information about your model, and for creating individual model instances.
The class that implements ICampaignAttributionConfiguration and ICampaignAttributionWeightingInfo is responsible for storing and managing configuration information of model instances and for actually processing the attribution calculations.