Creating User Events from a Google Sheet ImportUpdated 12/08/2020

This guide will show you how to import data from Google Spreadsheet as Hull User Events in order to create or update events on a User Timeline.

Make sure your Google Sheets Imported is installed and authorized by following the connector documentation.

In order to perform an import go to a spreadsheet which contains data you are interested in. Then open the add-on sidebar by going to top menu Add-ons > Hull Importer > Open Importer.

events open addon sidebar

Right after opening, import button is inactive signaling that not all required settings are provided. Now let's go through them.


First we need to select the import type, since this sheet contains Events data and we want to capture columns information as User Events we select "User Events".

events import type

Next we need to tell how to identify users who should receive those events. If those users exist in Hull events will be added to their profiles, otherwise new users will be created at the same time.

Hull supports three different identifiers, so this section allows to define 3 columns where email, external_id and anonymous_id is stored. At least one identifier mapping must be done and every row in the sheet need to have at least one value present in order to be imported. Non-identifiable entities are not allowed in Hull.

In our case we have emails and product IDs coming from product database. We will map email to email and user_product_id to external_id which is meant for unique, leading identifier used across your all services.

events claims

We are almost there. In case of events we need to specify now 3 specific parameters:

  1. Event Name - this setting defines which column contains event name. It allows you to import different events names in one import, as long as those events share the same properties mapping. This is required field.
  2. Event Date - this settings defines which column contains event creation timestamp. This is optional and will be used as original event creation date on user timeline. Refer platform documentation for supported date formats.
  3. Event ID - this setting defines which column contains unique event_id. This is optional for new events which won't be updated in future. But we recommend providing value as it also prevents duplicates in case of running the same import multiple times. Those event IDs must be unique across whole Hull organization.

events settings

The last section allows to map columns to events properties. By default we populate the name of attribute by transforming column name into lower underscore case. Name can be freely adjusted here, but we recommend using lower underscore case.

Let's map the rest of columns here:

events mapping


Once all the required settings are present and valid the import button becomes active. Before hitting the button you need to select all rows you would like to import. Don't select the first row which contain column names though.

What is important it does not matter which columns are selected exactly. Once something on a row is selected the whole row will be taken into consideration during import.

Here is our selection, the button shows which rows will be imported

events import1

Now we can hit import and see progress and results bellow.

events import2

After every row is processed then the text below will be changed into done, showing number of rows imported.

You may notice that depending on your data number of imported rows is smaller than number of selected rows. This may be coming from the fact that some of the rows don't have any identifier present.

That's it, now you can use the same way to update or create users and attributes. In case of problems or questions feel free to reach out to us at