🛠 This document describes the process and requirements for integrating conversion data from an in-house system.
Overview
Botify can ingest conversion data from any in-house system that can export to CSV or JSON. Conversion Data includes Revenue and Transactions. A transaction can be a sale or any other meaningful business goal.
Process
The customer reads the technical and content requirements and sends a sample dataset to their CX team.
Botify Support verifies the sample meets our technical requirements.
Botify Support creates an AWS S3 bucket for data collection and sends the bucket name and access token to the customer.
The customer starts sending files in the S3 bucket daily.
When data delivery starts, Botify Support completes the technical setup.
Botify ingests the conversion data daily.
Technical Requirements
The following are required to integrate conversion data from a custom warehouse with Botify:
Delivery
The delivery frequency of data in the S3 bucket must be one file daily (weekly, monthly, or custom time ranges are not allowed).
Each filename must be unique and contain the date (e.g., conversion-export-2020-09-22.csv).
The file content must be exclusively for that date. All file names and file content must have the same date.
Example: conversion-export-2020-09-22.csv must only contain data for 2020-09-22.
Format Requirements
The file must contain only one report (for example, we cannot import a file that combines multiple reports by segment or other rules). The supported formats are CSV and JSON:
CSV
You can choose the type of separator. We support comma, tabulation, semicolon, etc.
The file cannot contain comments.
The file cannot contain a header.
Example of a valid file:
https://domain.tld, 2020-09-22, organic, 1, 10.0 https://domain.tld/path, 2020-09-22, organic, 2, 20.0 https://domain.tld/path, 2020-09-22, social, 3, 30.0
(The columns are, respectively: URL, date, channel, # transactions, and revenue)
JSON
Example of a valid row file:
{'url': 'https://domain.tld', 'date': '2020-09-22', 'channel': 'organic', 'transactions': 1, 'revenue': 10.0}, {'url': 'https://domain.tld/path', 'date': '2020-09-22', 'channel': 'organic', 'transactions': 2, 'revenue': 20.0}, {'url': 'https://domain.tld/path', 'date': '2020-09-22', 'channel': 'social', 'transactions': 3, 'revenue': 30.0},
Content Requirements
The following defines the required and optional fields and their formats.
Required Fields
URL: Must be complete; a path without a domain is not supported.
✔️ https://domain.tld/path/to/my/page
⚠️ domain.tld/path/to/my/page
Botify will use the protocol from the project if the protocol is not provided. This could cause errors in matching, e.g., if all crawled pages are HTTPS and the project default protocol is HTTP, no data will be displayed because the exact match between crawled and imported URLs will be impossible.
❌ /path/to/my/page
Date: YYYY-MM-DD (ISO 8601 format)
✔️ 2020-09-22
❌ 20200922
❌ 2020-22-09
❌ 22-09-2020
Optional Fields
Channel: A string field that identifies the source where the transaction originated.
Device: A string field that identifies the device through which the transaction was made (e.g., desktop, mobile, app).
Transaction: An integer field that identifies the number of transactions or custom goals the entry meets.
Revenue: An integer field that identifies the amount of money for these transactions.
Provide a default value for all lines if any of these fields are missing in the file. For example, if you deliver files that only contain organic conversions and have no Channel field in the file, we can default Channel to ‘organic’.
Contact Support
If you need any assistance, please contact Support.