Skip to main content

Hi everyone,

I work with Zapier support where we have a Klaviyo integration (https://zapier.com/apps/klaviyo/integrations). The Create or Update Profile Action of this integration uses the POST https://a.klaviyo.com/api/profiles endpoint. We’re working through a customer support ticket where we’re seeing a discrepant behaviour between the return response from the https://a.klaviyo.com/api/profiles endpoint and the Klaviyo user interface.

The POST request passes a value of “whatsapp” to the Contactmethod custom field. The screenshot of the POST request with sensitive information redacted is shown below.

b8111f3b7a5b12d4c578e88e34f63d82.png

(Click here to view larger)

The return response from the https://a.klaviyo.com/api/profiles endpoint shows that the value for Contactmethod went through.

db23d2c179207cb7aa6d7fece56c2b09.png

(Click here to view larger)

But when the customer is looking at the same profile in their Klaviyo account, a value for the Contactmethod field isn’t showing up (screenshot shared with their permission).

f08d6d08901dd920600c38d9f1b1b96d.png

(Click here to view larger)

I wanted to list some extra observations and things we checked.
 

  • This behaviour where Contactmethod value is missing (despite the return response of https://a.klaviyo.com/api/profiles endpoint showing otherwise) is seen for a large fraction of the profiles created through their Zapier workflow but not all.
  • The value of the Gender custom field, which is also passed in the POST request is consistently filled out, no problem.
  • We checked to see if there maybe other workflows a PATCH request to https://a.klaviyo.com/api/profiles/{id} endpoint that maybe updating the Contactmethod value but we aren’t seeing any. There are no other Zapier workflows that run after the creation of the profile.
  • The event log also show a webhook sent from Klaviyo to Trengo for an outgoing message, which do not have any impact on the Contactmethod value.

Our ask: Do you have any input about any other factors that could cause the Contactmethod custom field not populate on the user-interface (inconsistently). The Create or Update Profile Action also makes a second POST request to the POST https://a.klaviyo.com/api/profile-subscription-bulk-create-jobs/ endpoint, does that have any effect on a custom field like the Contactmethod? Screenshot of the POST request below with sensitive information redacted.

ee40605bcd5e6654de627de8976410e5.png

(Click here to view larger)

 

Thank you so much for your advice!

@Zintegrations hey, great question!

I’ll list out a few things that I’d try if I was in your place (not saying they are ideal solutions, just that I would take these steps):

Check if the field appears on other profiles, by searching profiles created via the same Zap. If it appears inconsistently in the UI, it’s likely a rendering delay. This is a known inconsistency, particularly when profiles are created or updated in quick succession, or if the property hasn’t been used widely across profiles before.

Try retrieving a few affected profiles using GET /api/profiles/{id} , then confirm if the field is present in the raw response.

Temporarily change the field name to something brand new like “contact_method_v2” and re-test on a few records. This can rule out caching/UI issues tied to the original field key, for example if “Contactmethod” was previously saved as “contactMethod” or “contactmethod”, the UI may not consolidate values properly

Finally, if you consistently confirm presence via API and absence in UI, escalate to Klaviyo with API trace logs + profile IDs as it may be a bug (not likely but still possible).

Let me know if this helped in any way!


Hi ​@Zintegrations,

I agree with what ​@StefanUE mentioned above! It would also be useful to check out the dev logs to see if any other POST or PATCH requests are running after the initial API call that’s overwriting this profile property. They may not come from Zapier, but if another API call is made from somewhere that overwrites or removes this property, that could be the culprit.

Additionally, are there any flows with profile property update actions that could be responsible? Might be worthwhile to take a look at the flows these profiles may have gone through to see if any flow actions could have removed these.

Finally, definitely don’t hesitate to reach out to Klaviyo.com/support, if needed, where a member of our support team can look into the account specifically to determine the reason for the problem.


Hi Stefan and Byrne,

Thank you so much for your advice! Our customer also reached out to Klaviyo support team in tandem and they also recommended we try out Stefan’s recommendations as well.

We did an audit of the Zapier workflows to see if there are other workflows that would contribute to POST or PATCH requests running after the initial API call and we haven’t found any. The screenshots that Klaviyo support team shared from the developer tools also match the number of API calls we’d expect from the initial workflow (and no other ones later).

So we’ll go ahead and try out the recommendations that Stefan outlined and report back.

Thanks again!