Campaign Solutions is a full-service consulting firm specializing in fundraising and advertising.
Anedot will send financial page data to Campaign Solutions directly via donation_completed
events. Relays will include Custom Field data, Source Codes, and UTM Codes in the URL. To learn more about URL Parameters, check out the guide linked below!
Disclaimer: Non-financial page data is not supported at this time.
Connect Anedot to Campaign Solutions
To connect your Anedot account with Campaign Solutions, follow the steps below:
Access the Settings>Integrations>Directory tab within your Anedot fundraising account.
Click the blue + New Connection button in the upper right corner.
Select Campaign Solutions from the directory.
Next, select the Action Page(s) you would like to connect.
All pages are selected by default.
To exclude Action Pages, use a comma to separate a list of the Action Page IDs.
If needed, you can also scope the integration to Team access.
Apply the Campaign Solutions Token
Scroll down to the bottom right corner to Save your connection!
Action Pages, Teams, and credentials can be modified anytime post-setup.
Campaign Solutions Field Mapping
Relay Fields
The Anedot Fields match the Submission's Raw Data and the Campaign Solutions Fields match the Request Body relay.
|
|
Anedot Field | Campaign Solutions Field |
"donation_completed" | event |
createdAt | date |
"[firstName] [lastName]" | name |
phone | phone |
title | title |
origin (Donation) | origin |
source (Donation) | source |
status (Donation) | status |
suffix | suffix |
donation | donation [object, multiple values] |
referrer | referrer |
utmCodes {term} | utm_term |
frequency | frequency |
lastName | last_name |
firstName | first_name |
ipAddress | ip_address |
amount (x100) | net_amount |
occupation | occupation |
updatedAt | updated_at |
utmCodes {medium} | utm_medium |
utmCodes {source} | utm_source |
accountId | account_uid |
middleName | middle_name |
sourceCode | source_code |
utmCodes {content} | utm_content |
accountName | account_name |
address {city} | address_city |
checkNumber (Donation) | check_number |
createdAt | date_iso8601 |
amount (x100) | event_amount |
utmCodes {campaign} | utm_campaign |
employerName | employer_name |
(Submission) id | submission_id |
actionPageId | action_page_id |
address {line1} | address_line_1 |
address {line2} | address_line_2 |
address {region} | address_region |
(Commitment) id | commitment_uid |
address {country} | address_country |
actionPageName | action_page_name |
donorProfileId | donor_profile_id |
referrerToForm | referrer_to_form |
amount (x100) | amount_in_dollars |
paymentMethodId | payment_method_id |
createdAt | created_at_iso8601 |
currenlyEmployed ("true" or "false") | currently_employed |
updatedAt | updated_at_iso8601 |
address {postalCode} | address_postal_code |
Payment Method (Donation side-drawer) | payment_description |
custom_field_responses [object, includes: custom field name, custom field response value] | custom_field_responses [object, multiple values] |
is_recurring_commitment ("true" or "false") | is_recurring_commitment |
schedule_until (Commitment) | commitment_recurring_until |
communicationsConsentEmail ("true" or "false") | communications_consent_email |
communicationsConsentPhone ("true" or "false") | communications_consent_phone |
**UTM fields can be added to the Page URL as URL Parameters.
Campaign Solutions Payload Data
Request Headers
Campaign Solutions needs the "X-Request-Token" header available on all relays.
{
"User-Agent": "Anedot-Hookshot/de1398d",
"X-Request-Id": "f64bec6a-eabc-488c-8389-038888062ac9",
"X-Request-Token": "NUQxNDE5QTUtMjM1OS00MjlDLTlGMUItMjZCMjM0RUI3REQ0",
"X-Integration-Id": "8c35985f-b93b-4ebd-8386-53d517ef9082",
"X-Integration-Event": "donation_completed",
"X-Request-Signature": "65e28531c016f8cbe5cc42b3c4cd6c9476f895a11e3df7084e23f2951c922c7f"
}
Request Body
{
"event": "donation_completed",
"payload": {
"date": "2023-04-10 17:28:17 UTC",
"name": "Anna Dote",
"email": "[email protected]",
"phone": "",
"title": "",
"origin": "hosted",
"source": "credit_card",
"status": "completed",
"suffix": "",
"donation": {
"id": "d7caaa29e25a58a2fbc8f",
"fees": {
"anedot_fees": {
"amount": "8.30"
},
"vendor_fees": []
},
"fund": {
"id": "2a07f830-da46-42a9-94e8-52f3e6e3dc79",
"name": "General Fund",
"identifier": "1001"
},
"products": [],
"card_type": "visa",
"card_last_digits": "1111",
"donation_project": "",
"credit_card_expiration": "02/2034"
},
"referrer": "https://secure.anedot-sandbox.com/campaign-solutions-internal-integration-testing/5e20b630-1359-40f8-bcef-5b2d21d7a839?utm_campaign=1&utm_content=2&utm_medium=3&utm_source=4&utm_term=5&source_code=code",
"utm_term": "5",
"frequency": "monthly",
"last_name": "Dote",
"recurring": "true",
"created_at": "2023-04-10 17:28:17 UTC",
"first_name": "Anna",
"ip_address": "2600:1700:6323:c820:20e9:550d:2152:318d",
"net_amount": "191.70",
"occupation": "",
"updated_at": "2023-04-10 17:28:18 UTC",
"utm_medium": "3",
"utm_source": "4",
"account_uid": "ae43230d83536f70ef3b6",
"middle_name": "",
"source_code": "code",
"utm_content": "2",
"account_name": "Campaign Solutions Test",
"address_city": "New Orleans",
"check_number": "",
"date_iso8601": "2023-04-10T17:28:17Z",
"event_amount": "200.00",
"utm_campaign": "1",
"employer_name": "",
"submission_id": "26658ba4-8277-40f8-b139-7fe0cc38f7c9",
"action_page_id": "aeda58d4-2f45-4029-b9e6-bccba098d62b",
"address_line_1": "123 Washington Ave.",
"address_line_2": "456",
"address_region": "LA",
"commitment_uid": "ea29d29f-5af7-45e2-b4ba-e8b81a0e3500",
"address_country": "US",
"action_page_name": "Page",
"donor_profile_id": "90f5a9bf-6c36-4326-9c5f-bdfda5e14f36",
"referrer_to_form": "https://anedot-sandbox.com/",
"amount_in_dollars": "200.0",
"payment_method_id": "3412c2bc-a1db-44da-89ef-2908809a8596",
"created_at_iso8601": "2023-04-10T17:28:17Z",
"currently_employed": "true",
"updated_at_iso8601": "2023-04-10T17:28:18Z",
"address_postal_code": "99999",
"payment_description": "Visa •••• 1111",
"custom_field_responses": {},
"is_recurring_commitment": "true",
"commitment_recurring_until": "",
"communications_consent_email": "false",
"communications_consent_phone": "false"
}
}
Response Body (Success)
{
"contextId": "b100be5b-f2a1-4c33-900e-0fd5a4ca0dd5",
"messageId": "d7caaa29e25a58a2fbc8f|completed|2023-04-10T17:28:18.0000000+00:00"
}
Response Body (Failure):
{
"contextId": "49868250-9f61-416a-a682-bab3831e90d7",
"errorMessage": "No Token Supplied or has an incorrect format"
}