Import ActiveCampaign Data to Google Sheets
ActiveCampaign is an email marketing and CRM platform for small businesses. In this guide, we’ll walk through how to pull data from the ActiveCampaign API directly into Google Sheets, using the API Connector add-on for Sheets. We’ll first get an API key from ActiveCampaign, and then set up a request to pull in email campaign data from ActiveCampaign to your spreadsheet.
- Part 1: Get ActiveCampaign API Key
- Part 2: Create your API Request URL
- Part 3: Pull ActiveCampaign API Data into Sheets
- Part 4: Handle Pagination
PART 1: GET YOUR ACTIVECAMPAIGN API KEY
- Log in to ActiveCampaign and click “Settings” in the left side navigation menu.
- The Account Settings menu will appear. Click “Developer”.
- You should now see a page containing your API URL and Key. Keep the key handy as you’ll need it in a moment. Congrats! You’re now ready to use the ActiveCampaign API.
PART 2: CREATE YOUR API REQUEST URL
We’ll first set up a pull to view your contact list.
- Base URL: https://YOUR_DOMAIN.api-us1.com/api/3/
- Endpoint: /contacts
Putting it all together, we get the full API Request URL:
PART 3: PULL ACTIVECAMPAIGN API DATA INTO SHEETS
We can now enter all our values into API Connector and start importing ActiveCampaign data into Google Sheets.
- Open up Google Sheets and click Add-ons > API Connector > Create New API Request.
- In the Create Request interface, enter the Request URL we just created
- Under Headers, enter a key-value pair like this:
Replace YOUR_API_KEY with the API key provided above in the first part.
- Create a new tab. You can call it whatever you like, but here we’ll call it ‘AC_contacts’. While still in that tab, click ‘Set’ to use that tab as your data destination.
- Name your request. Again we’ll call it ‘AC_contacts.’
- Click Run and a moment later you’ll see ActiveCampaign data populate the AC_contacts tab in your Google Sheet:
- If your contacts utilize custom fields, these custom field values can be retrieved using the
/fieldValuesendpoint. As the fieldValues endpoint will only produce their ID, you can also use the
/fieldsendpoint to get their name. Once you have all the values in Sheets, you can merge them together as desired using queries and other functions native to Sheets.
- Change the endpoints as described in the documentation to retrieve different data. For example, changing it from
/campaignswill produce a list of all your ActiveCampaign campaigns.
PART 4: HANDLE PAGINATION
- Note Active Campaign’s limits on the number of records returned on a response. By default, only 20 records will be returned unless you use the ‘limit’ and ‘offset’ parameters as described in their documentation.
To get 100 records, you’d use the ‘limit’ parameter and to return more than 100 you’d then make a second request using the ‘offset’ parameter. For example:
- With API Connector you can either set these up as separate requests or loop through them automatically with offset-limit pagination handling (paid feature), like this: