Skip to main content
With the Amazon Redshift integration, you can streamline data retrieval for targeted campaigns and personalized user experiences. Key benefits:
  • Enables accurate data collection, improving audience targeting for campaigns customized to meet specific audience needs and preferences.
  • Configure Data Ingestion Tasks to extract data from Redshift efficiently.
Data warehouse integrations are available as a premium add-on for the Web Experimentation and Feature Experimentation module. Contact your Customer Success Manager for more information.
Once you’ve activated Amazon Redshift for a specific project, you can use it to create goals in Kameleoon. These goals use conversions data from your Amazon Redshift database. To create a goal using Amazon Redshift, follow the Data warehouse tracking flow described in Create a goal, and choose Redshift from the Datawarehouse integration dropdown. Step 1 then asks for these Redshift-specific fields:
  • Redshift cluster type: Select whether your Redshift source uses a Provisioned cluster or a Serverless workgroup.
  • Redshift cluster ID: Enter your Redshift provisioned cluster ID.
  • Region: Enter the appropriate region.
  • Database: Enter the database that contains your conversion data.
  • Frequency: Define how often you want Kameleoon to update goal data.
  • Query: Define the SQL query to retrieve the necessary data from Amazon Redshift.
Once Step 1 is complete, configure Step 2, Advanced settings, if needed, then save your goal.

Query format

The query must adhere to a specific format: SELECT visitor_id, conversion_timestamp FROM your_events_table Where visitor_id is the column representing your visitors’ unique ID, and conversion_timestamp is a column that represents the exact time the conversion took place. In Amazon Redshift, the conversion_timestamp column must be a Timestamp type column. If you want to associate a revenue to each conversion, the query should adhere to an alternate format: SELECT visitor_id, conversion_timestamp, revenue FROM your_events_table Where revenue is a column containing each conversion’s revenue. For more complex queries you can adhere to this format by formulating a sub-query as such: SELECT visitor_id, conversion_timestamp, revenue FROM ( {your_original_query} ) AS subquery

How Kameleoon polls conversion data

Kameleoon polls the Amazon Redshift conversion data behind your goal every hour, appending a WITH clause to your query that filters by timestamps. Rather than reloading the full event history on every run, Kameleoon polls incrementally: each polling job tracks the last successful polling point and, on the next run, queries only the time window of new records since that point. Querying only that window keeps each poll fast, since Kameleoon never rescans data it has already imported. Although Kameleoon collects conversions hourly, it only merges them into your experiment results once per day. Because polling always advances forward, Kameleoon can miss a record that lands in Amazon Redshift with a timestamp older than the last successful polling window. Late records typically arrive because your data pipeline takes time to write the conversion event, so the record reaches Amazon Redshift only after Kameleoon has already polled past the time window it belongs to. To prevent missed records, set the ingestion timeframe below to match your pipeline’s typical arrival lag.

Ingestion timeframe

By default, Kameleoon allows up to 1 hour between when a conversion event for your goal occurs and when it becomes available in your Amazon Redshift warehouse, and its polling window accounts for that delay automatically. If your pipeline takes longer than 1 hour to write events into Amazon Redshift, for example due to batch or nightly ETL jobs, those late-arriving records fall outside the polling window and get missed. Contact your Customer Success Manager to extend the delay so it matches your pipeline’s actual arrival lag.

Run your query before ingestion

Before saving your ingestion task, you can test your query directly in Kameleoon. Testing allows you to:
  • Verify the connection in real time.
  • Confirm your credentials and access rights are correct, which helps detect issues immediately, without having to wait for the first data import.
  • Validate your data’s structure and accessibility.
You can run a simple query to ensure Kameleoon can access the right databases and tables. You can also download a small sample of the dataset to confirm that the schema, permissions, and contents match your expectations.

Using your Amazon Redshift goal

With the goal created, you can now incorporate it into your Kameleoon campaigns. When setting up an experiment or personalization, you’ll have the option to select this goal in the configuration steps, letting you track and analyze specific conversions from your Amazon Redshift database. Kameleoon merges these conversions with your experiment results once a day, so all conversions polled on a given day are visible the following morning. To learn how to set up a goal in an experiment, see Set up a goal in a campaign.