I’ve seen people approach Campaign organization in salesforce.com in several ways. Some consultants advocate a Campaign structure with multiple levels of Campaign hierarchy, but that approach may be unnecessarily complex for most organizations. You can achieve nearly all of the same benefits by categorizing your Campaigns using custom fields and single parent-child hierarchy.
Segmenting Campaigns Using the Campaign Type Field
The Campaign Type standard field on Campaigns is a great way to organize your Campaigns based on channel. This is where you would mark a Campaign as a “Webinar” or a “Conference”. If you find that you want more granularity here, you can create a custom sub-type pick list and make the values dependent on the type pick list.
You may also want to create other custom pick list fields such as product line, audience or region to further segment your Campaign performance.
Segmenting Your Campaigns by Date
Many people recommend using the built-in start and end dates on the Campaign to segment Campaigns by date. This approach can work, but the major drawback is that some Campaigns can run for long periods of time and an accurate start and end date for a generic web form Campaign may not offer anything meaningful. To work around this, some organizations create time specific versions of the same Campaign. Typically this is done yearly because there is a fair amount of overhead in changing all of the systems that add Leads and Contacts to Campaigns.
Using this method you still cannot compare performance of your Campaigns on periods shorter than the duration that you have split the Campaign. So instead reporting from a date field on the Campaign itself, I find that most people are better off reporting based on a date field on the Campaign Member record instead.
This gives marketers visibility in to the Campaign responses that were truly generated during a given time period, rather than relying on the fact that the Campaign itself was scheduled for a specific point in time.
Grouping Related Campaigns Together
In some cases it makes sense to group Campaigns together using hierarchy, specifically if you have a campaign that has multiple aspects. A good example is a webinar that may be presented live as well as recorded for future consumption. In this case the parent would be the overall webinar and there would be “live” and “recorded” child Campaigns.
The rollup fields on the parent Campaign can show the overall performance of the webinar and is a good way to assess how well the Campaign did. If you are measuring performance against Campaign cost you could use the overall numbers on the parent Campaign to get a good idea of how well the money was spent.
We recommend limiting the Campaign hierarchy to a single parent-children relationship. While salesforce.com supports up to 5 levels of hierarchy, the reporting capabilities become limited the more levels you add.
Bringing it all Together
Using custom and standard pick list fields on the Campaign allows you to segment and compare your campaigns and their performance against each other. Segmenting based on dates on the Campaign Member allows you to compare performance for a specific time period, either within a single Campaign or across many different Campaigns. Finally limiting the use of campaign hierarchies so they only represent a single parent-children relationship allows you to see summary values on the parent Campaign, as well as compare Campaign performance against other Campaigns by sorting by Parent Campaign Name and then by Campaign Name.
I’ll be the first to admit that each situation is unique and different business requirements may need a different approach, however, I have noticed a tendency to over engineer Campaign structure to the point where it can be frustrating to work with the data and in general recommend starting with something simple and flexible and adjusting to accommodate special cases from there.
Looking to better track campaigns in Salesforce through UTM codes? Download our Guide to Tracking UTM Parameters in Salesforce.