Links

Overview

The Data feature allows any data to be uploaded to the platform. This data can then be linked to integration points - where applicable - on the platform. Typically, this data consists of measurable data to be used for graphing, data tracking and activation.
Data that is uploaded, should be analytical in nature and is not meant for mass data (see Limits, below). When planning integrations, it is recommended to provide summative data instead of transactional. For example:
Don't Upload transactional sales data with rows detailing each purchase.
Instead Upload total sales for a user per row.

Collections & Uploads

When data is uploaded it is assigned to a unique data collection. A collection could be considered a container of multiple buckets - and each upload is 1 bucket in the collection. A collection name is unique per account, and an upload is unique per collection.
The Data feature has been designed this way in order to create agility when integrating multiple collections to other features and to structure uploads clearly.
When accessing the API endpoints you will always need to provide the collection and upload parameter to target the specific data that you are managing.

Data Processing

Data is processed as it is received. This allows several things to occur in near real-time: Connects app users to data Processing scans the uploaded data to identify users and to connect them to data. This allows for uploaded data to be integrated on a user level. Connects data to locations Processes locations to assign a location ID to a row. This allows time location filtering to occur on integrations. Connects data to a timestamp Processes dates to assign a timestamp to a row. This allows time-based filtering to occur on integrations.
Optimizes Data After data has changed in a collection, the platform optimizes & organizes data into a structure that allows the best performance in indexing and scanning.
Notifies Integrations As new data is received, integrations in platform features are notified - which invokes any built-in hooks to update data points on graphs or activities.

Date Formats

Format
Example
Parsed As
DD/MM/YYYY
01/12/2020
01 December 2020
D/MM/YYYY
1/12/2020
01 December 2020
DD/M/YYYY
01/1/2020
01 January 2020
D/M/YYYY
1/1/2020
01 January 2020
DD MONTH YYYY
01 Feb 2020
01 February 2020
DD LONG_MONTH YYYY
01 February 2020
01 February 2020
YYYY-MM-DD
2020-03-01
01 March 2020

Limits

Type
Limit
Columns Per Upload
20
Rows Per Upload
2,000
Uploads Per Collection
20
Rows Per Collection
20,000
Collection Size
34 MB

Reserved Types and Words

Specifically named headers allows data to be treated differently from other columns. This allows you to use "User Identifiers" when mapping collections to integration points on the platform.
Header
Description
User Code
Processes the data in this column as a user code.
User Mobile
Processes the data in this column as a mobile ID.
User Email
Processes the data in this column as an email.
User Location
Process the data in this column as a location.

ISO Specifications

Type
Format
Location
ISO 3166-1 alpha-2 (e.g. Cape Town, ZA)
Email
Valid email address
Mobile Number

Benchmarks

Data uploads can be intensive and have a hard limit of 2,000 rows of data per upload. When planning your integration it is important to be aware of upload time so you can anticipate latency. Data uploading happens asynchronously so you will only be able to call the endpoint once, per upload.
To give you an idea of how long data takes to upload, we have provided benchmarks based on estimated upload times when using the API.
Data
Time (In Seconds)
10 Columns, 1 Row
0.76
10 Columns, 10 Rows
1.06
10 Columns, 100 Rows
3.64
10 Columns, 1000 Rows
31.06s
10 Columns, 2000 Rows
60.95s