Migrating from Klaviyo V2 to V3
Migrating from Klaviyo V2 to V3
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_preferencesNote:
All these events are still available via the events table if the corresponding metric is selected.