Short heading goes here
I recently ran into an issue getting these two errors in Klaviyo while setting up an SMS opt-in form, and found a quick fix. The errors I was getting are:
1. Check issues for Smart Opt-in
Review order of steps
Your one-time code block appears on a step before capturing phone number. Adjust the order of your steps so that phone number input step comes first.
2. Fix issues to collect SMS consent
Disable Smart Opt-in
Smart Opt-in is not compatible with transactional forms. Remove the Smart Opt-in step or remove the transactional opt-in step.

The Quick Fix
- Open your form in Klaviyo and go to the SMS Opt-In step.
- Click on the Phone Number field.
- In the settings sidebar, find the Consent dropdown.
- Change the value to Single Step - Promotional Only.
After saving, both error messages disappeared and the form worked properly.

Why This Works
Klaviyo's Smart Opt-in feature only works with promotional (not transactional) forms, and the platform expects phone number collection to happen before any verification steps like one-time codes.
By switching the consent type to Single Step - Promotional Only, you’re telling Klaviyo exactly what kind of data you’re collecting and for what purpose, which helps avoid conflicts in form logic.
If you're stuck seeing:
- Your one-time code block appears on a step before capturing phone number
- Smart Opt-in is not compatible with transactional forms
…try this fix before reordering or rebuilding your form. It only takes a minute and saves a ton of debugging time.