Skip to main content
All CollectionsIntegrations
Campaign Solutions
Campaign Solutions
Updated over 3 months ago

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.

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:

  1. Access the Settings>Integrations>Directory tab within your Anedot fundraising account.

  2. Click the blue + New Connection button in the upper right corner.

  3. Select Campaign Solutions from the directory.

  4. Next, select the Action Page(s) you would like to connect.

    1. All pages are selected by default.

    2. To exclude Action Pages, use a comma to separate a list of the Action Page IDs.

    3. If needed, you can also scope the integration to Team access.

  5. Apply the Campaign Solutions Token

  6. Scroll down to the bottom right corner to Save your connection!

    1. The integration endpoint will be: https://csanedotintegration.azurewebsites.net/v1/donation/{{account UID}}.

Action Pages, Teams, and credentials can be modified anytime post-setup.


Data Relays

  • We send relays for financial pages (only send donation_completed webhook events).

    • We support custom field data, source code, and UTM Codes in the URL.

    • We send the account’s request token in the header per Campaign Solutions’ request (PR).

  • Push Unsent (failed donations, all donations) + date range for relays works for all Action Pages, regardless of financial page type.



​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

email

email

phone

phone

title

title

origin (Donation)

origin

source (Donation)

source

status (Donation)

status

suffix

suffix

donation [

  • Object includes:

    • ID

    • Fees (Anedot, Vendor)

    • Fund (ID, Name, Identifier)

    • Products (Name, Internal Identifier)

    • Card (Type, Last Digits)

    • Donation Project

    • Credit Card Expiration

]

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.


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"
}

Response Status (Success)

200

Response Status (Failure)

400
Did this answer your question?