How to create a registration flow for U-Report

March 21, 2016


When a U-Reporter registers they provide personal information that builds a profile of the individual and which in turn contributed to an aggregate profile of the entire U-Report movement in your country. The registration process is also your first chance to tell U-Reporters about the program premise and goals. This post outlines why this is important and how to best manage your registration process. Furthermore, it provides you with step-by-step instructions on how to create a registration flow.

However, before coming up with registration flows consider the data you need to capture first. Here are common ways you will ultimately use information gathered during the registration process:

Your future uses of registration data

1) Understand who is joining U-Report and more importantly, who isn’t.

2) Targeting: You can send messages to groups based on profile information

3) Analysis: Poll data is analysed based on profile information

4) Project Managers can use this data to understand equity indicators and address imbalances

5) Separation of communication between groups (e.g. you may not want to send MPs the same SMSs as youth)

6) Media campaign optimization

7) Monitoring the performance of partners

Bare Minimum

The bare minimum data you need to capture includes age, gender and location for the following reasons:

● Age: Your program is targeted to a predefined age group. Collecting this information informs you know how successfully you are in doing this.

● Gender: It is important for equity that females access the program. You need to be aware how successful/unsuccessful your recruitment tactics are at attracting women and girls.

● Location: This enables the mapping of results. Without this you will not get spatial data, just national data, which makes information much harder to action.

Additional Options

You can get very creative with how you use registration data. Here are some additional options:

● Asking people “How did you hear about U-Report” helps you:

a)   Group people based on their response e.g “a Scout told me” goes to the ‘Scouts’ group. “I’m a member of the Red Cross” goes to your Red Cross partner group. This enables

i) Measurement of how partners are performing at recruitment towards PCA goals

ii) Partners to access information from their own organisations.

b) Perform analysis of advertising campaign performance so you can improve the efficiency of your radio, tv, online, outdoor or press investments (how to perform this requires further explanation)

● Job: You may want to send certain messages to certain professions or analyse by job.

● Parent. If you are using U-Report for level 3 monitoring you may need to know which U-Reporters are parents or mothers.

Important consideration: you can collect some of this information at later dates for sampling so if it does not impact your whole program, don’t attempt to collect the information during registration.

What to avoid

There is an inverse relationship between the greater the volume of registration questions the fewer complete registrations you will get. U-Reporters get frustrated and drop off. Each additional question increases the likelihood of drop-off and each instance of that is a voice lost. So consider what to avoid based on this received wisdom including:

● Expensive registration cost through unnecessary SMS.  Where possible match your welcome or informational SMS with a question rather than two separate messages. This can save 10-20% of your registration cost.

● Overly personal or granular questions. People don’t like giving out too much personal information e.g. their exact address.

● Repetitive questions.  Flows allow you to re-ask a question. Only do this for information you cannot do without. If someone is registering an age that doesn’t make sense it might be because they are trying to skip the question so let them move on. Remember, it is up to the U-Reporter to volunteer information, let them decide what they do and do not want to provide.

● Asking for political affiliation. U-Report is an apolitical system, this is of no interest to UNICEF and casts suspicion on the program. This is prohibited.

Discrimination Note: Avoid flows that expel U-Reporters based on information provided during registration.

Registration flow

Now that we understand the basics, let us create a registration flow. For this particular flow we are interested in collecting the following information:

  • Name or Nickname
  • Age 
  • Gender
  • Location (in this example region and district)

Check if U-Report is already registered

The first step in the registration flow is to check if the contact is registered already. We do this to avoid existing U-Reporters going through the registration flow multiple times for no reason and adding SMS cost.

To check whether a U-Reporter is registered we can use the “Response Rule” to evaluate whether the contact who just triggered the registration flow is member of the U-Reporters contact group.

In the response box we use the “Split by contact field” option and select the contact field “Groups”. As we can see in the screenshot below we look whether the contact (who triggered the flow) is part of a group that is called “U-Reporters”. If the contact is, we categorize that as “Already Registered”.

If already registered, we can send the contact a message informing him/her that he/she is already registered. If not yet registered, the new contact can proceed with the registration questions.

Ask for name or nickname

Now that we know that the contact is a new U-Reporter we can ask the question for the name or nickname, while at the same time we save the registration date and add the new contact to the U-Reporters group.  Once the contact responds with name (or nickname), we add the name to the contact profile, and we ask the second question which is to give us their age. This is illustrated in the screenshot below:

The Registration Date is saved by selecting the action “Update the Contact”, and saving to field “Registration Date” the current date, which you indicate as

To add the contact to a group, you select the action “Add to Groups” and indicate to which group the contact should be added to, in this case the “U-Reporters” group:

To record the contact’s name, we first save the response as Name...

… and then add update the “Contact Name” (again by choosing the “Update Contact” action) with the name that just came in, referred to as here:

Ask for age

The second question in the registration flow is about age. As you may have seen in one of the screenshots above, in the outgoing message asking for age (“Thank you for registering with U-report…”) we refer to the contact “@contact.” @contact. is a variable and will be replaced by the contact’s name or nickname in the outgoing message.

The age question and the steps involved are illustrated in the screenshot below. We ask for age which we then use to deduct the the year of birth, and ask the next question on gender.

We evaluate the age response (which is a number) against a set of rules which allow us to split the flow based on age submitted. This could look like this:

If the contact is too young, i.e. younger than 13, we first remove the contact from the U-Reporters group (they were added earlier in the flow), add the contact to a group “Too young” for future reference or use and send them the message that they are too young.

To remove a contact from a group, you choose “Remove contact from a group” in the action box and specify which group the contact should be removed from:

Contacts that fit the age requirement can proceed with the registration. As mentioned above, we deduct the year of birth from the age provided. If we know the year of birth, it is easier to keep track of the age in the future. We do this by subtracting the given age from the current year using the formula @(YEAR(NOW()) - flow.age):

Ask for gender

Handling the gender question is shown below. We first categorize the gender (either male or female, or a third gender if relevant), add the contact to the respective gender group, add the gender to the contact profile and ask the next question on region.

When adding the gender to the contact profile, make sure you save the @contact.gender.category and not just @contact.gender. Using the category will allow us to only have 2 genders in this example, Male or Female. If we don’t save the category, all responses that we received will be stored as gender (e.g. b, boy, g, girl, woman, etc.).

Ask for location

RapidPro currently uses the first two administrative boundaries from OpenStreetMaps for the mapping feature. In this example, the two levels are Region and District. You can change the boundary names to reflect your country, e.g. province, prefecture, etc.

Before using the mapping component, you need to make sure that aliases for the boundaries have been entered in the mapping part of RapidPro to cater for misspellings. For instructions on how do this see here.

The steps involved here are: we compare the submitted response for region against the available mapping data, and if we have a match, we add the region to the contact profile, add the contact to the region group (@flow.region) and we ask the next question for district.

Evaluating the region response looks like this:

Note that for evaluating the region response we select the “has a state” rule. Though the built-in rule contains the word “state” you can save it to fit your country’s context, e.g. region or province.

The steps for processing the district response are largely similar. If a match is found (remember adding aliases!), we add the district to the contact profile, add the contact to the district group and send them a last message.

The response box for evaluation the district response looks like this:

Note that we use the built-in rule “has a district” here and we look for a district within the region which was submitted by the contact (@flow.region) .

A few notes

  • Once your registration flow is done, you need to test it thoroughly. You can use the simulator as a first test. You can for example choose to display all the values in a Send Message box, such as, @contact.age, @contact.gender, etc. and see if your responses are captured properly by the flow. But make sure you delete this box once your flow becomes active!
  • Some country offices have an introductory poll for all U-Reporters once they’ve completed the registration flow. To accomplish this, we can add the U-Reporter to a group to signify that they are 'Waiting for introductory poll'. Then, we can set a campaign for this group that starts the flow.
  • In some previous registration flows we used “temporary groups” to keep track of which contacts haven’t responded to which questions for future follow-up. This proved to be confusing to many users and that’s why we left it out of this example. The best way to keep to track of missing information is to use Dynamic Groups combined with campaigns triggering questions to contacts with missing data.
  • The flow used in this post can be downloaded here.

In case of questions or comments please let us know.