Define a Salesforce Campaign Data Model

Build a Salesforce campaign data model that supports pipeline reporting
Download Guide

I've spent some time in my last two blog posts working through building requirements for Salesforce marketing campaign architecture and defining campaign hierarchies. Another crucial piece of this process is defining your campaign data schema. I’m going to walk through how I would customize the campaign object data model to meet the needs of Vibetrack, a fictional high-growth SaaS company who is scaling their Salesforce implementation.

Campaign Data Schema

What is a Salesforce Campaign Data Model?

The Campaign data model is overall structure and collection of fields that make up the Campaign object. This can include campaign-level fields, campaign members and related objects (opportunities, leads, contacts, accounts).

For the purposes of this conversation, we’re just going to focus on the campaign-level fields.

Why would I need more than the default fields?

There are 40+ fields that make up the out-of-the-box Campaign data model. These cover things like campaign name, type, budgeted cost, number of leads in the campaign and more. The core data model covers the essential use cases and functionality that would likely apply to a business of any type or size.

While this is a pretty extensive list of fields, there are a number of use cases that they don’t cover. Here are some quick examples I’ve run into throughout my career:

  1. UTM Mapping to Campaign: If you need to tie UTMs back to a specific campaign, you’ll need to add the relevant UTMs to custom fields. This can be particularly valuable for organizations that do more advanced reporting in downstream reporting tools.
  2. External System Mapping: Depending on the channel, your campaign is likely being managed in multiple tools. Paid ads will have their own campaign ids in your ad platform, emails will have their own template or campaign id in your marketing automation platform, and so on. Storing external ids on the campaign makes these joins much simpler.
  3. Audience or Segment Tracking: If your campaign are targeting specific users, industries or company size, you’ll need to create new fields. While you might be able to get away with leveraging the campaign name field, having a dedicated field to group or pivot by will make your reporting much simpler.
  4. Lifecycle Stage Tracking: In the same vein as audience or segment tracking, lifecycle stages do not come out of the box. If you would like to track campaigns that are dedicated to Acquisition, Activation or Engagement goals, you’ll need to build a new field.

Designing a Custom Campaign Data Model

Business Context

The Vibetrack product is focused on providing companies with real-time visibility into organization health and employee sentiment - leading to positive employee retention, engagement and overall satisfaction. Vibetrack is rapidly scaling marketing efforts across many platforms and channels. The table below shows a high level overview of marketing channels.

Channel Campaign Types Lifecycle Stage Tools OKR
Paid Media LinkedIn Lead Gen, Paid Social, Paid Search, Display Awareness, Acquisition LinkedIn, Google, Meta, Rollworks 50% YoY increase in MQLs
Organic SEO, Blogs, eBooks, Case Studies, Social Awareness, Acquisition, Activation, Engagement Contentful, Bynder Drive 50,000 organic website visitors per month
Email Nurture, Promotion, Newsletter, Transactional, Onboarding, Re-Engagement, Invitations, Product Acquisition, Activation, Engagement, Retention Salesforce Marketing Cloud Account Engagement (Pardot), Hubspot 50% YoY increase in MQLs
Partnerships HR Influencers, Analyst Relations, Data Integrators, ISVs, Co-Branded Event Awareness, Acquisition, Engagement Salesforce 20% opportunity influence
Webinars & Events Product Demo, Educational Webinar, Conference, Virtual Event, Roundtable Awareness, Acquisition, Engagement ON24, Eventbrite Generate 2,000 MQLs per month

Defining our Custom Requirements

How do we turn the context around Vibetrack’s marketing channels and campaigns into data model requirements for our campaign object? I’d begin with asking the questions below - these are a solid starting point and more context will surface from discussion with your team.

  1. What are the different marketing channels we work with?
  2. What are the different tactics or campaign types within those marketing channels?
  3. How do we manage campaign planning? Team, funnel stage, region?
  4. How do we segment audiences for campaigns?
  5. What tools do we use to launch campaigns?
  6. Do we have an asset management system?
  7. What business goals do our campaigns roll up to? How do I want to report on campaign performance?

Applying Requirements to a Data Model

  1. What are the different marketing channels we work with?
    1. Update the Type field: Our channels Paid Media, Organic, Email, Partnerships, Webinars & Events should reflect our Type values.
  2. What are the different tactics or campaign types within those marketing channels?
    1. Build a new Sub Type field: We have different campaign types depending on the channel. Build a new field for Sub Type  that contain the values in our campaign types column.
    2. Add a Field Dependency: Simplify management of Sub Type by implementing a Field Dependency. This allows you to control the available Sub Type values for each campaign Type. This enforces some level of data hygiene.
  3. How do we manage campaign planning? Team, funnel stage, region?
    1. Build a Region field: Vibetrack only operates in the US right now, but if they were to expand they may need a new field to track Region. The picklist values for this might be NA, LATAM, EMEA, APAC, Global. Try leveraging a global picklist for this - you’ll probably want to keep these values consistent across your business.
    2. Build a Lifecycle Stage field: All of our campaigns line up to some stage of the marketing lifecycle. Build a new Lifecycle Stage field with the values Awareness, Acquisition, Activation and Engagement.
  4. How do we segment audiences for campaigns?
    1. Build an Account Segment field: Vibetrack has clients across many different company sizes. Instead of creating a new dropdown on the Campaign level, we’re going to rely on an Account Segment field that lives on the Account object. This will enable reporting by segment for accounts that are related to a campaign.
  5. What tools do we use to launch campaigns?
    1. We have a sizable martech stack! I wouldn’t recommend building a new field to support every single one of these platforms, but sometimes it makes sense. For example, I have run into situations where housing an external campaign id made it much easier for our data teams to join and perform analysis in Tableau.
    2. Build UTM Fields: The following utm parameters are consistently tracked for just about all of our channels. Housing these fields in Salesforce makes tracking of them a bit easier. We’ll create the following fields: utm_source, utm_medium, utm_campaign, utm_content.
  6. Do we have an asset management system?
    1. In general, marketing assets or creative should be managed in a digital asset management platform. There is value in adding a field for creative link or landing page to make it simple to keep track of the primary assets related to the campaign - but don’t turn the Campaign object into an asset manager.
    2. Build a Landing Page Link field: A new field called Landing Page Link will house the landing page associated with the campaign. For email campaigns, this could be the primary CTA. For webinars, this could be the registration page or online event portal. For in-person events, this could be our RSVP landing page.
  7. What business goals do our campaigns roll up to? How do I want to report on campaign performance?
    1. Vibetrack has goals that span the entire pipeline - # of leads generated, # of MQLs generated, opportunity influence, etc.
    2. At this point we’ve already built the fields that we want to group our data by: Type, Sub Type, Lifecycle Stage, Account Segment, Region and more.

Example Campaign Dashboard in Salesforce

Rather than showing you a screenshot of fields on a campaign page layout, here’s an example of how this comes to life. The dashboard below shows how our newly implemented fields can be applied to a dashboard with some sample metrics.

Screenshot 2025-04-22 at 12.42.04 AM.png

Download Now

By subscribing, you agree to receive marketing communications.
Thank you! Use the link below to access your file.
Access File
Oops! Something went wrong while submitting the form.