Registration flows - some useful tips

April 11, 2016

I have been working with a quite a number of UNICEF COs on developing and improving registration flows for U-Report. I thought it would be good to share a few tips in a post based on the experience and observations made so far.

Note that these tips are not only relevant to U-Report and can be used by other programmes as well requiring contact registration and management.

Check if someone is already registered

When someone registers, make sure you check whether they’re registered or not – no need to take them through all the questions again. And it saves SMS cost! For this you can use the Split by Contact field and check if the contact is part of the U-Reporters group.

No temporary groups

Don’t worry too much about using temporary groups in your registration flow to keep track of who hasn’t responded to what question. You can always use dynamic group to group contacts based on certain characteristics and Split by Contact field (check if empty) to find out who’s missing what. In this example we split by who’s missing gender info:

Note that a new feature will be added to RapidPro soon to also search missing information in contact fields using dynamic groups. So stay tuned!


I see a lot of contacts get stuck at the location questions (e.g. region or district). People often don’t know how to spell their location correctly. Or they simply don’t know their official location. Two tips here to avoid frustrating your U-Reporters:

1. Add as many aliases as possible in the mapping page. You can use the raw responses from U-Reporters as input for the aliases: download the flow results, check the “runs tab” and analyse the responses under the location question. For example, in the case of region, check the Region (Text) column as this is the raw input submitted by the contacts.

2. Allow contacts 2 chances to submit the location name to avoid infinite loops. If the second retry is not recognized, you can use a webhook to compare the user input with a list of locations outside RapidPro. If a match is found you can play it back to the contact to confirm. If no match is found, just let the user complete the registration flow and follow up at later date with the location question.

Resume flow

RapidPro allows you to quickly see where someone stopped in a flow. In the example below we see 534 didn’t answer the name question.

You can click on the blue balloon (534) and resend the 534 contacts a message reminding them to send their nickname:

Handle unsolicited messages

If someone sends an unsolicited message to U-Report it’s good (and polite) to let RapidPro respond automatically. To do this you can use the catch all trigger and link it to a flow you’ve created to handle the unsolicited message. The flow could look like this:

Help menu

In addition to a registration flow it’s good to have a help menu that existing or potential U-Reporters can trigger to get more information about U-Report, how to opt in, opt out, etc. You can for example use the word INFO as trigger. Below is an example flow you can download and re-use.

Opt-out menu

Another flow which you need to have is an opt-out menu to allow U-Reporters to unregister. You can use the word UNREGISTER as trigger. Make sure you ask for reasons of opting out to improve your program!

Follow-up questions

You need to create flows with questions to send to those who missed out on certain questions. For instance, you can create a simple flow which asks the Gender Missing group for their gender. Once a valid response comes in, we can remove the contact from the Gender Missing group (make sure you do that otherwise contacts will keeping receiving the same question!). You can trigger these follow-up questions manually or automatically by using campaigns using the registration date as reference.

The flows that have been used in this post can be downloaded here:

U-Report Registration Flow

Opt-Out Menu

Help Menu

Using webhook to compare entry with a predefined list of names

Limit number of wrong responses in a flow

Auto response for unsolicited messages

Please let us know in case of questions, tips or comments!