Smart Ingest lets you pull data from CSV and JSON files stored in your Google Cloud Storage (GCS) and import it to Iterable.
NOTE
Smart Ingest can only import data from Google Cloud Storage.
In this article
Connection requirements
To connect with Smart Ingest, you need the following information:
-
A Google Cloud Platform (GCP) service account with access to the data you’re importing. You can either:
- Bring your own with a JSON key.
- Create one directly from Smart Ingest.
Project ID – The unique identifier of the Google Cloud project where your data is stored.
Bucket Name - The name of the Google Cloud Storage bucket where your data is stored.
Before you connect Smart Ingest to Google Cloud Storage, make sure to allow Smart Ingest IPs in your Google Cloud account.
Connecting Google Cloud Storage to Smart Ingest
Step 1: Create a service account
To connect Smart Ingest to Google Cloud Storage, you need a Google Cloud Platform (GCP) service account. This account is used to authenticate Smart Ingest with Google Cloud Storage and access your data.
There are two ways to create a service account for Google Cloud Storage:
-
In Smart Ingest, you can create a service account that’s managed by our
partner, Hightouch. You still need to visit Google Cloud Platform and
assign roles to the account. -
Bring your own service account
Create your own service account in Google Cloud Platform.
Create a managed service account
When you use Smart Ingest to create a new service account, you can connect to Google Cloud Storage with a new service account that’s managed by our partner, Hightouch. The provided service account is unique to your workspace and this credential.
To create a managed service account:
Log in to Iterable as a user with the Manage Integrations project permission and open the project you’re working on.
Go to Integrations > Smart Ingest.
Click Connect a New Source.
Select Google Cloud Storage and click Connect.
Under Step 1, find GCP Credentials and click New Credentials.
Enter a Display Name.
-
Select Service account managed by Hightouch.
Click Create a New Service Account.
-
Click the Copy button to copy the service account address.
Example:
ht-some-string@hightouch.iam.gserviceaccount.com
IMPORTANT
You cannot view this service account address later. Make sure you’ve copied the address before leaving this screen.
Click Create
Now you can use this GCP service account to connect Google Cloud Storage and Smart Ingest.
Smart Ingest saves these credentials, so if you’re not ready to connect yet, you can leave this page and come back later to finish connecting.
Bring your own service account
To use your own service account to connect Smart Ingest to Google Cloud Storage, you need to first create a service account in GCP:
Create the account. For instructions, see Google Cloud's support article Create Service Accounts.
Generate a JSON key file. For instructions, see Google Cloud's support article Create and Delete Service Account Keys.
Next, add your service account to Iterable for use in Smart Ingest:
Log in to Iterable as a user with the Manage Integrations project permission and open the project you’re working on.
Go to Integrations > Smart Ingest.
Click Connect a New Source.
Select Google Cloud Storage and click Connect.
Under Step 1, find GCP Credentials and click New Credentials.
Enter a Display Name.
Select Bring Your Own Service Account.
Drag and drop the service account JSON key file into the import area, or click on the area to select the file from its location.
Smart Ingest then parses the key, and if it's valid, displays the Client ID and Client Email fields. Verify that these are correct.
Click Create.
Now you can use this GCP service account to connect Google Cloud Storage and Smart Ingest.
Smart Ingest saves these credentials for later, so if you’re not ready to connect then you can leave this page and come back later to finish connecting.
Step 2: Grant permission to the service account
Once you create a service account (either one you made, or one managed by our partner, Hightouch), your Google Cloud administrator needs to assign roles to the service account in Google Cloud Platform.
The service account must have these permissions:
- Programmatic access enabled.
-
storage.objects.get
- permission to read from the cloud storage path you want to use.
Step 3: Connect Smart Ingest to Google Cloud Storage
To connect Smart Ingest with Google Cloud Storage:
Log in to Iterable as a user with the Manage Integrations project permission and open the project you’re working on.
Go to Integrations > Smart Ingest.
Click Connect a New Source.
Select Google Cloud Storage and click Connect.
-
In Step 1, find GCP Credentials and either select credentials you’ve already created from the drop-down menu, or click New Credentials.
If this is your first time connecting and you’re adding new credentials, read our instructions to either create a managed service account or bring your own service account.
In Step 2, enter the Project ID and Bucket Name for the Google Cloud Storage bucket you want to connect.
Click Continue. Smart Ingest automatically tests the connection.
When the connection test is successful, click Continue. (If there are problems connecting, click Back and review the connection details for accuracy.)
Add a name for your data source. This is for display in Iterable.
Click Finish.
Next steps
You've now connected your cloud storage to Smart Ingest. The next thing you can do is create a sync.
CSV and JSON file requirements
Smart Ingest can import CSV and JSON files from Google Cloud Storage. Make sure your files meet certain requirements, including:
Formatting for the supported file type (CSV or JSON). To learn about file requirements for Smart Ingest, read Smart Ingest Data Models Overview.
Field requirements vary depending on the sync type you're setting up. To learn more, read the Smart Ingest sync guide for the sync type you're setting up.
Updating GCP credentials
Currently, credentials aren't editable in Smart Ingest once they're created. If you need to update your Google Cloud Platform credentials in Smart Ingest, add new credentials and select them in the source configuration.
This process is similar to the initial setup. To update your GCP credentials:
Go to Integrations > Smart Ingest.
Find the source you want to update and click Edit.
In the source configuration, under Step 1, click New Credentials.
Enter the updated GCP credentials.
Click Create.
In the source configuration, under Step 1, select the new credentials from the GCP Credentials dropdown.
Click Save Changes to finish.