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: Notes and Expansions
- 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. Congrats! You’re now ready to use the ActiveCampaign API.
We’re going to follow the ActiveCampaign API documentation to view your contact list.
- Base URL: https://YOUR_DOMAIN.api-us1.com/api/3/
Base URL example: https://testakravitz.api-us1.com/api/3
- Endpoint: /contacts
Putting it all together, we get the full API Request URL:
Of course, you’ll need to substitute in your own domain.
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.
- Click the ‘Output options’ button and choose the ‘compact’ style for your report (more info on report styles here.)
- 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.
- 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).