Requirements
All channelsclient_idclient_secret- Instance subdomain (e.g.
mc563885gzs27c5t9-63k636ttgm)
definition_key— created during email setup below
The access token SFMC issues expires after 20 minutes. Aampe handles token refresh automatically — do not share access tokens directly.
Step 1 — Create an Installed Package
- Log in to SFMC and open Setup (gear icon, top right).
- Under Platform Tools, expand Apps and select Installed Packages.
- Click New and name the package
aampe-integration. - Under Components, click Add Component and select API Integration.
- Select Server-to-Server as the integration type.
- Grant the following permissions:
| Scope | Permission | Required for |
|---|---|---|
| Read, Write, Send | Email sends | |
| Push | Read, Write, Send | Push sends |
| Channels | Read, Write | Channel access |
| Automations | Read, Write, Execute | Tracking Extract jobs (email only) |
- Click Save.
- Copy the Client ID, Client Secret, and REST Base URI from the package summary page. These are the credentials you will enter in Aampe.
https://YOUR_SUBDOMAIN.rest.marketingcloudapis.com — only the subdomain portion is required.
Step 2 — Push channel setup
No additional SFMC configuration is required beyond the Installed Package above. Enter the following into your Aampe integration settings:client_idclient_secretsubdomainmessage_id— the SFMC push message ID Aampe should send against
Step 3 — Email channel setup
Email requires three one-time setup steps in SFMC.3a — Create the shell template in Content Builder
Aampe generates the full HTML email body per user and passes it at send time. The Content Builder template acts as a thin delivery wrapper — Aampe owns all content and styling.- In SFMC, go to Content Builder and click Create > Email > HTML Paste.
- Name it
aampe-email-shell. - Set the subject line to:
- Set the body to:
- Replace the comment with your organisation’s unsubscribe footer. The built-in SFMC profile centre link can be used:
- Save the template.
TreatAsContent() evaluates the passed HTML as live content. Aampe automatically escapes %% sequences in message bodies to prevent unintended AMPscript evaluation.3b — Create a send definition
- Create a send definition referencing the shell template from step 3a. See createSendDefinition.
- Ensure
options.trackinghasopensandclicksset totrue— these are required for Aampe’s reward signal. - Copy the Definition Key and enter it into your Aampe integration settings.
One send definition is sufficient for all Aampe email sends — you do not need one per campaign or segment.
3c — Configure Tracking Extracts for event data
Aampe reads delivery events (sent, opens, clicks, bounces, unsubscribes) via daily Automation Studio Tracking Extracts.- In Automation Studio, create a new Automation.
- Add a Tracking Extract activity for each event type: Sent, Opens, Clicks, Bounces, Unsubscribes.
- Set the output destination to S3 or SFTP.
- Schedule the automation to run daily.
messageKey field in the extract output is the join key between SFMC tracking rows and Aampe send records — ensure it is included in the extract schema. See Tracking Extract reference.
You are all set with SFMC!