If you need MoveData to "match" against existing records, then a mapping exercise must be undertaken to ensue the existing records have the necessary identifiers for MoveData to determine a match. Failure to do so may result in MoveData being unable to find a matched record and a duplicate record created as a result.
Contacts
Keys for contacts are stored on a child object called movedata__Contact_Platform_Key__c
.
Salesforce Field | Comment |
| ID of the Contact Record |
| ID of the Contact record in the source platform |
MoveData uses your Salesforce Duplicate and Matching Rules
If a match based on platform key is not determined, MoveData will run your Duplicate and Matching rules. As such, mapping Contact records could be considered optional optional given your duplicate rules will otherwise handle contact matching.
Reference: Configure Duplicate Rules
Campaigns
Keys for campaigns are stored on the Campaign object.
Salesforce Field | Comment |
| ID of the page record in the source platform |
| Set |
Recurring Donations
Keys for campaigns are stored on the Recurring Donation object.
Salesforce Field | Comment |
| ID of the recurring donation record in the source platform |
Opportunities
Keys for campaigns are stored on the Opportunity object.
Salesforce Field | Comment |
| ID of the donation record in the source platform |
Opportunity records are not commonly updated, so it is at your discretion if you choose to perform this step. The only practical scenario where Opportunity mapping comes into play is where:
A refund is issued for an Opportunity processed prior to MoveData (without mapping in place, the integration will be unable to find the record to refund and produce an error)
A change is made to an Opportunity record processed prior to MoveData (without mapping in place, the integration will create a new Opportunity record)
Platform-Specific Syntax
Because identifiers can repeat both within and across the source platforms you connect, MoveData will prefix your source platform IDs with additional information.
PayPal Giving Fund
Sales (Raisely, Funraisin)
Raisely
All IDs are prefixed with raisely:
Object | Area | Example | Use |
Contact | Person UUID |
|
|
Campaign (Campaign Records) | Campaign Profile UUID |
|
|
Campaign (Team and Fundraiser Profile records) | Profile UUID |
|
|
Recurring Donation | Subscription UUID |
|
|
Opportunity | Donation UUID |
|
|
Funraisin'
Object | Area | Example | Use |
Contact | Member ID |
|
|
Campaign (Event records) | Event ID |
|
|
Campaign (Event ID not provided) |
|
|
|
Campaign (Team and Fundraiser records) | History ID |
|
|
Campaign (Page records) | Page ID |
|
|
Recurring Donation | Scheduled Donation ID |
|
|
Opportunity | Donation ID |
|
|
Notes
Campaigns:
If an Event ID is provided, MoveData will create an equivalent campaign which will parent Team and Fundraiser records like
My Event
→Joe Smith
If an Event ID is not provided, MoveData will parent Team and Fundraiser records under the generic Funraisin' campaign like
Funraisin'
→Susie Wong's Bake Sale
Connecting Multiple Funraisin Sites:
If you connect multiple Funraisin sites, you should ensure a unique prefix is added for each site
This is because Funraisin' issues sequential IDs on a per-site basis and thus IDs could overlap between sites
MoveData will inject the unique prefix added into your values
For example, if you add the unique prefix
example
MoveData will use:Contact:
funraisin:example:5478
Campaign (Event):
funraisin:example:event:1
Campaign (Team or Fundraiser):
funraisin:example:history:2938
Etc
JustGiving
With the exception of campaigns, all IDs are prefixed with justgiving:
.
For campaigns:
Event IDs are prefixed with
justiving:event:
Campaign IDs are prefixed with
justgiving:campaign:
Page IDs are prefixed with
justgiving:pages:
Object | Area | Example | Use |
Contact | User ID |
|
|
Campaign (Event records) | Event ID |
|
|
Campaign (Campaign records) | Campaign ID |
|
|
Campaign (Neither Campaign nor Event ID provided) |
|
|
|
Campaign (Team and Fundraiser records) | Page ID |
|
|
Recurring Donation | User ID and Recurring Mandate Creation Date |
|
|
Opportunity | Donation ID |
|
|
Notes
Campaigns:
If an Event ID or Campaign ID is provided, MoveData will create an equivalent campaign which will parent Team and Fundraiser records like
London Marathon
→Joe Smith Runs London
If an Event ID or Campaign ID is not provided, MoveData will parent Team and Fundraiser records under the generic JustGiving campaign like
JustGiving
→Susie Wong's Bake Sale
Recurring Donations:
JustGiving does not provide an ID thus the value must be derived
Derive the date value from Recurring Mandate Creation Date in
YYYYMMDD
format like20140909
Combine User ID and your YYYYMMDD value with an underscore (
_
) like53187580_20140909
Enthuse
All IDs are prefixed with enthuse:
Object | Area | Example | Use |
Contact | Supporter ID |
|
|
Campaign (Enthuse Created Event) | Company ID |
|
|
Campaign (Charity Created Event) | Event Page ID |
|
|
Campaign (Neither Campaign nor Event record provided) |
|
|
|
Campaign (Team and Fundraiser records) | PF ID |
|
|
Recurring Donation | Schedule ID |
|
|
Opportunity | Payment Transaction GUID |
|
|
Notes
If an Event Page ID or Company ID is provided, MoveData will create an equivalent campaign which will parent Team and Fundraiser records like
London Marathon
→Joe Smith Runs London
If an Event Page ID or Company ID is not provided, MoveData will parent Team and Fundraiser records under the generic Enthuse campaign like
Enthuse
→Susie Wong's Bake Sale
List of Company IDs: https://docs.google.com/spreadsheets/d/1amx23I_8kkepA5s0yPNdCnEHQfj8PzXCUBKslcNtnWM/edit#gid=1139107291 (published by Enthuse)
Grassrootz
With the exception of campaigns, all IDs are prefixed with grassrootz:
.
For campaigns:
Campaign IDs are prefixed with
grassrootz:campaign:
Team IDs are prefixed with
grassrootz:team:
Fundraiser IDs are prefixed with
grassrootz:fundraiser:
Object | Area | Example | Use |
Contact | AccountId |
|
|
Campaign (Campaign Records) | Campaign ID |
|
|
Campaign (Team records) | Team ID |
|
|
Campaign (Fundraiser records) | Fundraiser ID |
|
|
Recurring Donation | Subscription ID |
|
|
Opportunity | Donation ID |
|
|
TapRaise
All IDs are prefixed with tapraise:
Object | Area | Example | Use |
Contact | Person UUID |
|
|
Agreement | Transaction Origin UUID |
|
|
Payment | Transaction UUID |
|
|
Good2Give
All IDs are prefixed with g2g:
Object | Area | Example | Use |
Contact |
|
|
|
Account |
|
|
|
Campaign (Good2Give Parent) |
|
|
|
Campaign (Employer Campaign Enabled) | Employer Name |
|
|
Campaign (Charity Project Campaigns Enabled) | Charity Project Name |
|
|
Campaign (Employer Campaigns and Charity Project Campaigns Enabled) | Employer Name and Charity Project Name |
|
|
Opportunity |
|
|
|
Notes
When deriving values from Employer Name and Charity Project Name, ensure you convert to lowercase and replace spaces with hyphens (
-
)If you have Employer Campaigns and Charity Project Campaigns enabled you can derive value by combining the Employer Name and Charity Project Name with a hyphen (
-
where[Employer Name]-[Charity Project Name]
likegoogle-special-needs
)
DoGooder
All IDs are prefixed with dogooder:
Object | Area | Example | Use |
Contact | DoGooder does not have the concept of a Contact ID |
|
|
Campaign | Campaign ID |
|
|
Action | Action ID |
|
|