All Collections
Integrations
Analytics Integrations
Integrating Conversion Data from a Custom Warehouse
Integrating Conversion Data from a Custom Warehouse
Updated over a week ago

🛠 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

  1. The customer reads the technical and content requirements and sends a sample dataset to their CX team.

  2. Botify Support verifies the sample meets our technical requirements.

  3. Botify Support creates an AWS S3 bucket for data collection and sends the bucket name and access token to the customer.

  4. The customer starts sending files in the S3 bucket daily.

  5. When data delivery starts, Botify Support completes the technical setup.

  6. 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 using the email address for your region:

Did this answer your question?