Keeping up with our recent velocity, we’ve released a bunch of new features today.
1. Sunsetting in Journeys
So far, the only way to stop a journey was by changing the status of the journey to “Stop”. This would then result in an abrupt end to the journey. Users who were in the journey were then immediately taken out of the journey. Not exactly a graceful end. We’ve heard your feedback and we’ve built a feature that prevents this from happening.
Sunsetting a journey is an alternative to stopping a journey. Changing the status to “Sunset” results in stopping users from entering or reentering the journey but the journey continues to run for those users who were already in the journey.
How does this benefit you?
If you want to make changes to a running journey, you will most likely stop the current journey, clone it, edit it and then begin a new one. As a result, all users in the journey get moved out of it which is not always the desired behavior. This helps prevent that. New users follow the new journey. Users already in the journey continue to be on the older journey (unless they trigger something and get into the new journey).
2. Users
You will now be able to get deep insights into your entire user base and analyze them from many different perspectives. This is quite similar to the “Segments” feature of our previous release. The only difference is that WebEngage considers your entire user base in “Users” instead of a subset of it as was the case in the segment. Just like in “Segments”, the insights you will get will be for your known as well as unknown users. Lastly, you will also be able to see the “Activity” metrics such as Monthly Active Users (MAU), Weekly Active Users (WAU), and Daily Active Users (DAU).
3. List of User Attributes & List of Events
This is Part 1 of our release on Data Management. In our next release, we will be adding more features to Data Management. Anyway, back to our current release.
This is mostly a UI enhancement of a feature that was already present in WebEngage. When you go to the Data Management section, you will see two sections there – “User Attributes List” and “Events List”.
User Attributes List
This helps you see the list of custom attributes of “User” that you are sending to us. We will also show you the corresponding data types (String, Number, etc.) that have we’ve detected for each of the attributes. The custom attributes list can consist of any attribute that you want to associate with a user – in the past, our customers have used attributes such as “Rank”, “Score”, “Profession”, “Education” etc. The sources of the attributes can be the app or website SDK, REST API, and CSV uploads.
It is imperative for you to know the list of custom attributes you’re sending to us and the corresponding data types. This is especially so in the initial stages of your integration with WebEngage. WebEngage does not allow you to change the datatype of your attribute. If you wanted to send an attribute of the “Date” data type, then please ensure that it is being passed as such from all your different sources such as SDK, REST API, and CSV Uploads.
Events List
Similar to the “User Attributes List” if you want to see the list of events along with corresponding custom attributes of each event that you’re sending to us, check out our “Events List” section. You’ll see a master list of all custom events here. Clicking on a custom event will show you the custom attributes along with their data types. Do note that our previous release on “Events” helped you analyze various events in a particular time period. But if you’d like to see a master list of custom events you’re sending to us, “Events List” is where you will get this information. Again, just like “User Attributes List”, please ensure that a particular attribute you’re sending to WebEngage is of the same data type from any of the sources such as an app or website SDK, REST API or CSV Uploads.
Why CSV uploads?
WebEngage automatically captures all your user and event data through the SDK that resides on your app or your website. However, there might be a certain list of users or events which you have in a CSV file. What do you do for cases where, let’s say the events happened in the past prior to the integration with WebEngage or let’s say that there is a list of users that you’ve acquired through offline channels or maybe there’s a mass update you need to make on the attributes of a certain subset of your existing user base in WebEngage? CSV uploads is one easy solution for all these use cases. REST API is the other solution but this generally requires the involvement of a developer.
What do I get out of it?
CSV uploads makes life so much easier for the business folks when they need to send user and events data on an ad-hoc basis to WebEngage. Period.
Now that we’ve laid the foundation of this functionality, let’s proceed to the specifics.
How does it work?
You can upload your Users CSV data (or Events CSV data) by clicking on “Upload user data” (or “Upload events data”) in Data Management. There’s a certain format that you’re required to follow for both your Users CSV file and Events CSV file:
- Users CSV: The 1st column in your Users CSV file needs to be titled “user_id” and should contain the unique user ID for each of the users in the CSV file
- Events CSV: The first two columns in the Events CSV file need to be titled “event_name” and “user_id” and should contain the name of the event and the user ID of the user that performed that event. Do note that one events CSV file can have data only about one event.
As soon as you start your upload, WebEngage performs a quick validation of your CSV file based on the first two rows of data. We do this primarily because if there are any basic errors in your CSV file, we’d rather tell you immediately than wait for the backend to do the processing and then get back to you. When there are millions of rows of CSV data to process, the backend can take a few minutes to a few hours to process all records. And who doesn’t hate waiting only to be told that were some basic errors at the beginning of the file? The basic errors could be because of any of these reasons:
(i) one or more headers were missing
(ii) there was a trailing comma at the end with no data after the comma
(iii) for an already existing attribute, the datatype of the uploaded attribute does not match that of the existing etc.
The other way, the quick validation helps you is in changing the datatype of the new attributes if you so desire. WebEngage tries to automatically understand the datatype of the uploaded user or event attribute. However, if you’d like to change the attribute from let’s say “Number” to “String”, you can do so by selecting the appropriate datatype in the dropdown.
If the quick validation is successful, the file is then uploaded to our servers so that our systems can process all the records in your CSV file. Smaller CSV files with hundreds or a few thousands of rows get processed almost immediately. Larger files with millions of records can take take a few minutes or a few hours to process. You can check the status of the uploaded CSV files in the “Previous Uploads” section on the same page. If the uploaded file has any errors (eg. on the 10,001st row), then we will highlight these errors on each of the rows that has the error so that you can then quickly correct the errors and upload the corrected file.
If there are no errors, the status will show “Completed” and you can go to the “Users” or “Events” page to see the uploaded data.
A couple of quick reminders before I conclude this post. Firstly, any “Date” attribute you upload has to either be in the “YYYY-MM-DD” format or any of the ISO formats such as “YYYY-MM-DD hh:mm:ss” in order for us to detect it as a “Date” attribute. Secondly, the maximum size of the file for a CSV upload is 200MB. This should be more than sufficient for millions and millions of rows of data. I think I did mention somewhere that we’d like to make your life easier. This is a small step in that direction.