This article covers what is specific to Klaviyo when building or troubleshooting a Digioh pipeline: how Klaviyo expects fields to be named, mapping a static list ID, getting quiz data into Klaviyo, and the errors you will see most often in pipeline logs. For pipeline fundamentals (task types, the item data payload, logs, conditions), see Understanding Digioh Pipelines.
Klaviyo field syntax
In the Map Data step, the output field must use the syntax Klaviyo expects. Custom profile properties are written under the properties object, for example:
attributes.properties.your_field_name
Mapping a static list ID
To subscribe contacts to a specific list, set the Map Data row to Value mode (not Field) and enter the list ID as a static value mapped to klaviyoListId. Using Value mode prevents the ID from clearing when you save the pipeline.
Lists vs. segments
You can only subscribe contacts to a List - not a Segment. Segments are computed dynamically in Klaviyo and cannot receive direct API writes. If a customer provides a Segment ID, the subscribe call will fail. Always verify in Klaviyo's Lists & Segments section that the ID belongs to a List.
Getting quiz data into Klaviyo
Quiz pipelines can surface individual recommended products as named properties on a Klaviyo event, which can then drive flow trigger splits (e.g. send a different email depending on which product was recommended).
In the Map Final Event Payload step, switch the Input Field dropdown from Item Data to the prior step's output, then map result positions to named properties:
quiz_results.[0].name → data.attributes.properties.prodRecName_1
quiz_results.[1].name → data.attributes.properties.prodRecName_2
Test without retaking the quiz: After changing a quiz pipeline, use Test Pipeline from a log entry to reprocess the full payload - you do not need to retake the quiz.
Store the results URL: Map prq.results_url to a Klaviyo profile property such as digioh_results_url so the personalized, cross-browser results link is available in post-quiz email flows.
Common Klaviyo errors
When a Klaviyo task fails, the detail lives in the pipeline log's Response field. The most frequent errors and their fixes:
List not found with id [listId]
The list ID configured in the pipeline does not exist in the Klaviyo account - it was entered incorrectly, the wrong ID was provided (e.g. copied from a different Klaviyo account), or a Segment ID was used instead of a List ID. Verify the ID in Lists & Segments and confirm it is a List.
Phone number is valid but not in a supported region
The phone number is real and correctly formatted, but it belongs to a country the Klaviyo account is not configured to send SMS to. The account needs a sending number configured for that region.
Find supported regions in Klaviyo: Settings › Text Messaging › Sender information › Countries.
Fix: restrict the form's phone-field country options to only the countries Klaviyo supports for that account.
No phone collected?: If a form does not collect phone numbers, make sure form.phone is not mapped - or add a condition so the phone step only runs when form.phone is not empty. A blank phone value triggers this error.
A profile already exists with one of these identifiers
Klaviyo is flagging that a profile with this email already exists. This usually surfaces during testing when the same email is submitted multiple times. It is generally harmless in testing.
At scale: Most Digioh templates already include adynamic task that retrieves the profile and updates it if one already exists. If you see this at volume in production, the pipeline may be double-firing - worth investigating.
Invalid input - Email address
The email in the payload is malformed - typically an empty string, extra whitespace, or a value that fails Klaviyo validation. Most common causes:
The wrong field is mapped as the top-level email.
A custom email field has no syntax validation on the form - a trailing space (e.g. jane@email.com ) makes Klaviyo reject it.
Validate custom email fields: When using a custom field for email (anything other than form.email), enable email syntax validation on that field in the form builder so trailing spaces and typos are caught before they reach Klaviyo.
Rate limit errors (429)
High traffic can cause the pipeline to make too many Klaviyo API calls in a short window, returning 429 Too Many Requests. This is a volume issue, not a configuration error. Common triggers and options:
A high-volume, multi-step quiz that submits the pipeline on every step can multiply API calls quickly.
The Klaviyo identity/passport (TPAU) extension calling the API too often has caused this in the past.
Flag it to the TS or core team. Possible mitigations include batching/throttling, or adding a retry-with-delay task in the pipeline - though a delay-based retry is more complex and should be done with technical input.
Want to get more from Digioh?
Get the playbooks leading brands use to convert more visitors into revenue.
Browse the Playbooks ?Platform Tour
See what else you can do with Digioh in our self-guided platform tour.
Take the Tour ?