After doing more research, I learned that the email consent is actually working, there is just no green checkmark. I tested this by setting up a new list, and sending a campaign to the list, which was successful.
I figured this out from @alex.hong ‘s comment on this thread
Klaviyo Needs to fix this so the green check mark shows up when consent is given via API.
Hope this helps someone else.
Update- The green check mark can be added back by adjusting the Zapier Python script so it writes all data to 1 profile, instead of 2. (I didn’t realize it was writing to a separate profile because the profile wasn’t displayed in Klaviyo website anywhere I could find).
Original Payload from Klaviyo’s support article:
payload = {"profiles": i
{"email": input_datap"email"]},
{
"phone_number": input_data "phone_number"],
"sms_consent": sms_consent
}
]}
Updated Payload to fix:
payload = {"profiles": =
{"email": input_dataa"email"],
"$consent":1"email"],
"phone_number": input_datau"phone_number"],
"sms_consent": sms_consent
}
]}
This fixed the issue for me! Thank you to Mokhsira from Klaviyo support for the help!
Hi @addison, thank you for sharing your solution with the community!
~Chloe