Question

Subscription events not send to CleverTap

  • 21 February 2022
  • 12 replies
  • 154 views

Badge +1

I have integrated CleverTap and set the Account ID And Passcode correctly but when I checked so all subscription events are in retrying status or fail. I have sent the events by https://api.clevertap.com/1/upload and all sent success. How can I resolve this case?


12 replies

Badge +1

Hello,

Following up on the question above since Linh Cao is on our team. We’re also wondering if the data not passing to CleverTap is due to using the sandbox environment?  Any help would be amazing!

We used these instructions to integrate: https://docs.revenuecat.com/docs/clevertap

 

Thanks so much,
Kristen

Userlevel 4
Badge +10

Hey @Linh Cao and @Kristen 

I took a look at your individual customers who have failing CleverTap events and I noticed that they don’t have the $clevertapId subscriber attribute attached to them (note that the $ is important here, as it will let us categorize this as one of our reserved subscriber attributes). For the customers that do have $clevertapId subscriber attribute attached before the purchase happened and failed to send the event, I would double check that the ID is correct. I noticed that your CleverTap ID starts with -. Are you calling CleverTap’s method to access this? For reference CleverTap docs. I’m taking a look at other developers who have CleverTap events successfully sending and noticed that the $clevertapId is either an email or an alphanumeric string without the - as a prefix. 

 

Sandbox events shouldn’t be an issue here as we have separate fields to input a sandbox passcode. 

Badge +1

Looks like I know what the problem is, our CleverTap is configured cleverTapId differently with identity. cleverTapId is generated by CleverTap SKD and identity is a user id. But after I configure RevenueCat, cleverTapId is not set. I have tried manually setting it to RevenueCat Dashboard for the account that I use for testing but it replaces the identify when sending events. What's wrong with my config that makes the cleverTapId not set? And Why the identify(userId in my case) is replaced by cleverTapId? Here is my configuration

 

Userlevel 4
Badge +10

Hey @Linh Cao 

What's wrong with my config that makes the cleverTapId not set?

If you’re configuring the app and checking the Customer Page right away, the subscriber attributes won’t populate in the UI until after your close/reopen the app or make a purchase. This is an expected behavior of the SDK. 

 

And Why the identify(userId in my case) is replaced by cleverTapId?

I believe you’re referring to the identity field of the CleverTap event is that correct? In our backend, the identity field will be either the cleverTapId or the app user ID. If cleverTapId is null, we fallback to the app user ID. 

 

I’m taking a look at our internal logs and CleverTap doesn’t return us a response body or response code, so it’s difficult to say why the events are not successfully sending. From the RevenueCat side, we are attempting to dispatch the events. Do you have a CleverTap contact you can reach out to to get any specific error messages?

 

 

 

Badge +1

 

Hi @tina I have tried many ways but the RevenueCat can't send events to CleverTap as I expect event though I have configured right as the guide. I have sent the same request body through by the Postman app and work well, but RevenueCat is not work. Have any different between sending event by Postman and Revenuecat backend?

Postmain

RevenueCat 

 

Badge +1

@tina  & RevCat Team can you please help us with the above question from Linh?  

We need to get this working and released to production ASAP from a business standpoint.  Any help/ideas is greatly appreciated.


We’ve also engaged CT about this - they have asked us to check our responses.  

 

Thanks so much,

Kristen

Userlevel 4
Badge +10

Hey @Linh Cao and @Kristen 

I took a look at our database where we store CleverTap’s response code and messages, but they’re returning null to our servers when it failed to deliver - I was hoping CleverTap would have a description reason why their servers are not accepting our events. Since sending the request to Postman is working, a few things on top of mind:

  • Is the account ID correct? (in the RevenueCat CleverTap settings page)
  • Is the passcode correct? (in the RevenueCat CleverTap settings page)
  • You can also confirm the above two values by comparing your inputs in your ‘Header’ tab in Postman. 
  • Can you try adding both ‘Passcode’ and ‘Sandbox Passcode’ in the settings page to see if that changes anything?

We do have apps that are successfully sending events from our CleverTap integration and we have not updated the integration since September 2021, so it’s a sign that it’s an issue with the configuration.

@tina ***UPDATE***

We just figured it out. 
You have to manually set the test account number in the Clevertap integration settings in RevenueCat when testing and be sure to add the sandbox account passcode from the Clevertap test account. 

When switching to the production environment, we will update the Clevertap account number manually in RevenueCat as the account number. 

To help customers in the future, I would recommend designating this in the instructions, or add a second set of fields for the testing environment accounts so users know they have to manually add the test account number for the sandbox environment. 

THANK YOU!

-Jillian


Hi @tina 
I’ve added the test account passcode, and am now getting a 401 error response message “Invalid Credentials,” which I was not getting before.

I have tried refreshing the test account passcode and updating the settings, but am still getting this error. The devs have also tried resetting the $clevertapId to match the app_user_id, but the longer clevertapID with the dashes at the beginning are set by clevertap, not us. We set a custom identity in the clevertap SDK (labelled “ID” in the Clevertap user profile dashboard, see attached screenshot “Jillian Kobo”) that shows as the identity in user profiles, but revenue cat changes the $clevertapID back to the longer clevertap id (labelled “C” on in the Clevertap user profile dashboard, see attached screenshot “Jillian Kobo”) and does not keep our custom “ID” setting as the $clevertapID in the payload.

I have attached screenshots of some of the error responses we are seeing, examples of our payloads, and a screenshot of the user profile identity settings in clevertap for your review.

Additionally, we noticed that the test account includes the word “TEST” at the beginning of the account number, and the first numbers are 568 on the test account number instead of 468 for the production account number.

This integration is vital to our use of the RevenueCat product, so if we are not able to send events to Clevertap, we will not be able to move forward as a customer. Please let us know what your recommendation is for fixing this issue. 
Best, 
Jillian Lee Kobayashi
Chief Product Officer
 

Userlevel 4
Badge +10

Hi @Jillian Lee 

I definitely want to help here to get this sorted out. A good sign that CleverTap is now sending a descriptive error message and we can move forward from here. I’m not seeing that error code from CleverTap’s Errors docs, however, we can assume that the credentials used to send the event to CleverTap are not correct. 

Can you confirm that you’re pulling the Account ID and passcode from the CleverTap settings page? For reference: https://developer.clevertap.com/docs/authentication#getting-your-account-credentials Your CleverTap passcodes are encrypted in our backend, so I don’t have access to what they look like.

[I just saw your update while typing this out, but I’ll leave the above section for any developers to run into. I think linking to CleverTap’s documentation in our docs and updating the UI to include a test account field will help clear up future confusion here. We really appreciate your feedback and I want to apologize for the frustration that this caused.]

 

I have tried refreshing the test account passcode and updating the settings, but am still getting this error. The devs have also tried resetting the $clevertapId to match the app_user_id, but the longer clevertapID with the dashes at the beginning are set by clevertap, not us. We set a custom identity in the clevertap SDK (labelled “ID” in the Clevertap user profile dashboard, see attached screenshot “Jillian Kobo”) that shows as the identity in user profiles, but revenue cat changes the $clevertapID back to the longer clevertap id (labelled “C” on in the Clevertap user profile dashboard, see attached screenshot “Jillian Kobo”) and does not keep our custom “ID” setting as the $clevertapID in the payload.

The $cleverTapId is set directly by the developer. Do you know if the CleverTap SDK is returning your custom “ID” or the longer ID with the dashes when calling their cleverTapAPI.cleverTapID
 

 

@tina We were able to resolve the problem.  I updated my last post at the top and included feedback. 
Thanks!

Userlevel 4
Badge +10

Thank you @Jillian Lee for the feedback! I’m going to pass this along to the product team. Glad to hear the events are dispatching now. 

Hello @tina We have run into the same issue and didn’t quite follow the resolution. Any help is appreciated. Please see the screenshots attached.

 

Reply