Storing data on Salesforce

How to store campaign data for Dataro's integration (Salesforce)

In order to take advantage of all the features in Dataro (including automated results analysis and better tagging) we recommend storing your campaign data in the following way. 

This article applies to all Dataro's Campaign modules (Appeal, RG Churn, RG Upgrade, RG Reactivation, Convert to RG).

We recommend reading the following article prior to diving into this one as it will give you additional guidance.

Best Practices for storing campaign data

Step 1: Create the Campaign and Campaign Members

We recommend using just a single Parent Campaign for a particular fundraising campaign. Even if a particular campaign contains multiple channels (EDM, DM, TM, SMS etc), multiple Waves (Wave 1, Wave 2) or multiple segments (Lapsed givers, Regular givers). These will all come under the banner of a single Parent Campaign in Salesforce. The same logic applies for TM campaigns. Even for 'rolling' calling over many months, we group all calls under the same Parent Campaign data. To break a campaign down further we recommend using a Campaign Hierarchy.

Use a Parent Campaign to store the top level campaign information and use Sub-Campaigns assigned to this parent campaign to store the different 'components' of the campaign.

  • For a DM Appeal campaign: The Parent Campaign may be called "2020 Christmas Appeal" which could include the Sub-Campaigns "Active Givers - Wave 2 - Mail", while another may be "Regular Givers - EDM".
  • For a TM Upgrade Campaign: The Parent Campaign may be called "TM Upgrade Campaign 2021", which would include the Sub-Campaigns "January", "February", "March".

Pro Tip: Remember, make your Campaign Descriptions informative, while keep your Campaign Names short and structured for internal lookups. For example if you are running a 2020 Christmas Appeal, your Campaign Description would be "2020 Christmas Appeal (Save the Whales Campaign)", while your Campaign Name might be "2020 - APPEAL - XMAS". 

Step 2: Add Contacts to Campaign Members

This step is incredibly important for keeping a log of ALL constituents who received your campaign. It is important that every communication and every contact has its own record. So, if a contact receives one phone call and two DMs, they will have 3 records added here. Here is how to add the list in Salesforce NPSP:

  1. Generate a list of all communications in the campaign, using a Salesforce Report, or import from Excel and assign it to the CampaignMembers.
  2. If uploading new data from outside Salesforce, ensure your column names match what Salesforce expects. Dataro recommends adding the following fields at a minimum. Additional fields can be seen in the screenshot below. Read more with this Salesforce tutorial

    ContactID

    CampaignID

    Campaign Name

    Date

    Status

    123456

    abcd-1234

    DM-Wave1

    11/22/2021 Sent

    123456

    abcd-5678

    DM-Wave2

    09/22/2021 Return to Sender
  3. If you are also storing Ask amount information, we recommend that you store it in custom fields on CampaignMember: CampaignMember.Ask_1, CampaignMember.Ask_2, CampaignMember.Ask_3

Status text:

We suggest storing the 'raw' values returned from the Telemarketing partner in the Status field. We have mapped the most common values to our internal requirements, but any new values can be easily mapped.

Optional: Storing Data for Experiments

When you are running an experiment, it is also important to store the data in a specific format so we can easily analyse the results. 

The way you store the data depends on the type of experiment you are running. We support two experiment types. These are:

  • Content Experiments (where you are testing something in the content, copy, design or materials a donor received such as plain envelopes and printed envelopes)
  • Targeting Experiments (where you are running an experiment comparing Dataro's AI targeting to your current targeting methods). 

For Content Experiments

This information should be represented via a custom field on the Campaign Member object. This field should be called: Dataro Experiment Group (Dataro_Experiment_Group__c in Salesforce)

ContactID

CampaignID

Campaign Name

Date

Status

Dataro Experiment Group

123456

abcd-1234

DM-Wave1

11/22/2021 No response Group A

789101

abcd-1234

DM-Wave1

09/22/2021 Voicemail Group B

 

For Targeting Experiments

In these experiments, there are actually 3 groups instead of two due to the overlap that exists in targets between strategy A and strategy B. In targeting experiments you have the following groups that should show up in the data

  • Donor targeted by your existing targeting method (Called "MethodA-only") 
  • Donors targeted by Dataro AI only (Called the "Dataro-Only")
  • Donors targeted by both groups (Often called the "Both")

Again, this information should be represented via a custom field on the Campaign Member object. This field should be called: Dataro Experiment Group (Dataro_Experiment_Group__c in Salesforce)

ContactID

CampaignID

Campaign Name

Date

Status

Dataro Experiment Group

123456

abcd-1234

DM-Wave1

11/22/2021 Gave MethodA-Only

789101

abcd-1234

DM-Wave1

09/22/2021 No Response Dataro-Only

121314

abcd-1234

DM-Wave1

09/22/2021 Return to Sender Both