Migrating from Klaviyo V2 to V3

Need help with something?

Talk to data expert

1. Table Renames

To standardize table naming and align with Klaviyo’s APIs, the following tables have been renamed:

Old Table Name (V2)

New Table Name (V3)

all_events

events

Segment_Profiles

segments_by_profile

unsubscribed

unsubscribed_from_email_marketing

campaign_metadata

campaign_messages


2. Events Table – Major Behavioral Change

Previous Behavior (V2)

The connector fetched all available events for all metrics.

This caused processing issues because:

  • Certain Klaviyo metrics have very large and inconsistent column sets.

New Behavior (V3)

You can now select specific metrics to load into the events table.

Benefits:

  • Smaller, more stable schemas.
  • Reduced processing overhead.
  • Lower downstream warehouse costs.

3. Incremental Loading Enhancements

The following tables, previously full load in V2, are now incremental in V3:

profiles

segments_by_profile

campaigns

lists

flows

Impact:

Greatly improved efficiency, lower load times, and optimized API & compute usage.


4. New Tables Added in V3

The following join/mapping tables have been added:

Table

Description

Load Type

profiles_by_list

Mapping of profiles to their subscribed lists

Full load

profiles_by_segment

Mapping of profiles to segments

Full load

Important: Since these are full-load tables, contact support to configure load frequency based on your data volume.


5. Reporting Tables – Improvements

5.1 campaign_report_summary

Improvements:

Now loads using timeframes supported by Klaviyo reporting APIs.

Efficient on rate limits.

Ensures the data matches Klaviyo UI, even if attribution settings change (which are not reflected in raw events).

5.2 flow_report_daily

New table introduced.

Loads day-level reporting for flows.

More accurate than summary-level reporting because:

Flow events can occur on any day, unlike campaigns which are batch-driven.


6. Tables Removed in V3

Since most clients were not using these individual metric-event tables, they have been removed:

consented_to_receive_sms
dropped_email
failed_to_deliver_automated_response_sms
failed_to_deliver_sms
marked_email_as_spam
merged_profile
opened_push
received_automated_response_sms
received_push
sent_sms
subscribed_to_email
unsubscribed
unsubscribed_from_sms
active_on_site
recharge_subscription_reactivated
subscribed_to_back_in_stock
updated_email_preferences

Note:

All these events are still available via the events table if the corresponding metric is selected.