Sign-up in
Mercado Libre

Productive Visit project
Mercado Libre sign-up flow mockups

UX objectives

Increase flow conversion

Reduce completion time

My most important achievement

Reduced average completion time from 3 minutes and 25 seconds to 52 seconds

Context

When I took ownership of this project, registration was a single shared flow for both Mercado Libre and Mercado Pago — two products with fundamentally different conversion goals.

Mercado Pago (fintech) needed flows that met regulatory requirements for each country: strict identity verification, mandatory account type selection, KYC compliance. Mercado Libre (marketplace) needed accounts created fast enough that friction didn't kill purchase intent.

The strategic decision to split the teams was the prerequisite for everything that followed. What I'm documenting here is the Mercado Libre side — four compounding changes over two years that turned a broken flow into the standard the team still ships against.

Faced challenges

My compounding changes

Mercado Libre was asking buyers to choose between "personal" and "business" accounts — a bifurcation that existed only because fintech required it for regulatory reasons. I decided to remove the account type selection from the Mercado Libre flow entirely because a buyer doesn't need to categorize themselves before purchasing on the platform. This was only possible after the teams were separated, since the same change would have violated Mercado Pago's regulatory requirements.

Impact

+2% conversion rate, 160,000 additional monthly registrations on 8M users/month.

The existing flow was linear by design: enter a piece of data, validate it via OTP or complete an identity validation task, wait for the system, and move to the next screen; it took five steps and ten screens because the model was built around verification, not conversion. I separated declaration from validation: I brought all required fields together on a single screen and kept only the subsequent phone validation via OTP; this reduced 5 steps and 10 screens to 2 steps and 3 screens.

Removing step-by-step validation meant rethinking abuse control. I implemented ReCaptcha at the form level and at the OTP screen, reducing friction without losing the detection layer.

Impact

3:25 → 1:54 completion time, 18% → 27% activation rate, abuse dropped from 5.04% to 4.92%.

Even with the form, users still had to manually enter their name, email, password, and phone number; this made the experience prone to errors and created friction, especially on mobile. The solution was to implement Google Identity Services: the Google button, One Tap, and Credential Manager. With a verified Google account, name and email were pre-filled, the password field was removed, and the flow was reduced to a single OTP.

Impact

+0.6 percentage points in conversion compared with the traditional form; completion time went from 1:54 minutes to 50 seconds.

What I left on the table

I couldn't eliminate phone OTP because it was the only validated recovery data. With Google, the validated data point becomes email. If shipped, registration drops to ~10 seconds via One Tap.

As I reduced friction, drop-off rates decreased, but the problem changed. Switching between sign-up and login increased from 16% to 41.4% after social sign-up was introduced. This happened because the process was so fast and frictionless that users started it without realizing whether they were signing up or logging in.

The reframe

That was when I realized that the users' task is not to "sign up" or "log in," but to access Mercado Libre. On the platform, sessions remain active for more than six months on the same device, and many users had gone so long without entering their credentials that they forgot them and ended up creating a second account because of friction or error.

The solution was to implement one screen that accepts an identifier (email or phone), the screen logic determines whether an account exists, and routes accordingly to sign-in or sign-up. The user never has to decide which path they're on.

The risk I designed around

Typos could route a user to the wrong flow and accidentally create a duplicate account. Solution: a persistent pill displaying the entered identifier in subsequent screens — turning a passive input into an active confirmation point.

Sign up with email

Sign up with email — flow part 1 Sign up with email — flow part 2

Sign up with Google

Sign up with Google — flow part 1 Sign up with Google — flow part 2

Sign up with phone number

Sign up with phone — flow part 1 Sign up with phone — flow part 2

Final result

These are some of the figures achieved as a result of the implemented iterations:

  • I reduced completion time from 3:25 minutes with the initial flow to 50 seconds with social sign-up through the changes accumulated over the two years I worked on this project.
  • I increased flow conversion by 12.5% and added 180,000 new users per month when unification was implemented in specific sites, such as Brazil. This conversion also affected the other countries where it was implemented, with smaller figures close to 100,000 users.