Usability

GENDER DETEC-
TION

What the gender detection can be useful for?

The gender of the user is one of those obligatory fields in most checkout forms — and most forms in general. While the user might not know why this detail is needed, the answer is simple: It allows the vendor to personalize their promotions. First, the vendor will be able to make their correspondence (including email, newsletters and traditional mail) more personalized, direct and elegant. “Dear Mrs. Chloe Wilson” sounds much better than “Dear customer.” Secondly, the vendor will be able to comb their database for promotions specifically for men or women. This cuts down on the number of emails telling men that high heels are now 20% off.


How the gender detection can be implemented?

Now that we know why the user’s gender is needed, let’s go over how to obtain it without asking the user. By automatically detecting gender and saving it in the database, we reduce the number of fields in the checkout form.

The gender-detection feature in Responsive Checkout is based on the API from Genderize.io. The user’s first name is converted into a GET parameter, for example: 

http://api.genderize.io/?name=john

and the response we get back is a JSON string containing data about the name:

{“name”:”john","gender":"male","probability":"0.99","count":4286}

As you can see, the name “John” accounts for 99% of all inputted names in the database, totalling 4286 instances. You can also narrow detection to a particular country or language by using the parameters <code>language_id</code> and <code>country_id</code>.

You would use the country parameter, for example, if the user’s country has been established or was automatically detected earlier on. However, when the sample returned for the given first name and country is too small or equals zero, a search is conducted once again without the additional criteria. For example:

http://api.genderize.io/?name=joan&country_id=de
{“name":"joan","gender":null,"country_id":"de"}

The name “Joan” was not found in Germany, so a second search removes the country parameter:

http://api.genderize.io/?name=joan
{“name":"joan","gender":"female","probability":"0.79","count":423}

The database for Genderize.io’s API contains 140,000 first names in 85 languages from 77 countries.

List of articles