alema.io
← All clients

Porto (via Môre)

First purchase: the credit card inside the cart

A hub with more than 80 Porto products and services got a cart and checkout. On the first purchase, eligible customers apply for the Porto Bank card without leaving the cart and pay for the purchase with a discount, on the first statement.

Role
Senior Product Designer, Platform/Checkout squad
Period
2022–2024
Sector
Insurance and financial services
Six mobile screens of the first purchase: cart with card offer, data review, biometrics, card selection, setup and payment
From cart to payment, in the version 2 clickable prototype.

Pain points

Discovery

Journey

  1. 01CartCard offer with the full price struck through.
  2. 02LoginSign in or sign up, with a token when needed.
  3. 03Data reviewPersonal details and card delivery address.
  4. 04BiometricsA selfie to confirm identity.
  5. 05Card selectionPlatinum or Gold, benefits side by side.
  6. 06SetupNetwork, limit, due date and a free tag.
  7. 07PaymentThe approved card pays for the purchase, with a discount.
  8. 08ConfirmationOrder, card and tag, with next steps.

What changed

Results

40%Eligibility
36%Applications created
75%Applications approved
52%Cards issued

Approval funnel by step, as presented in the case.

The problem

Porto's legacy site became a sales hub that brings together more than 80 products and services. Each line of business had its own purchase journey.

The question: can insurance, services and financial products share one cart and one checkout?

Table mapping the current journey of each priority product, from product page to confirmation
As-is map of the priority products, from product page to confirmation.

Discovery and testing

I mapped the current journey of the priority products, such as Auto Digital, Porto Vida and Travel insurance, and studied how each one is bought.

Then came usability tests with simulated purchases, including the Porto Bank card in the cart, in-depth interviews and A/B tests of product recommendations.

Two findings changed the solution: people find it natural to put insurance in a cart, but expect a loan to follow its own linear flow. And cross-selling insurance with a card only works if the card is the payment method.

The first-purchase concept test explored five points: whether mandatory login adds friction, whether biometrics after login feels odd, whether the offer is clear enough to sign up, whether people feel safe paying with a card that is still being issued, and whether listing the card among the products is confusing.

Comparison of the two card acquisition scenarios
Two scenarios compared step by step: the card offered on the first purchase, inside checkout, or applied for before buying the product.
Slide with perceptions and the insight from concept tests

The solution

Only products paid in the cart go into the cart. Financial products keep a separate linear flow.

Eligible customers are offered the Porto Bank card inside the cart, with a discount on the purchase and the full price struck through next to it.

The application has four steps with visible progress: data review, biometrics, card selection and setup, with network, limit, due date and a free Porto Bank toll tag. Once approved, the card becomes the payment method and the purchase lands on the first statement.

The edge cases were designed too: token login, incomplete data, rejection in the credit or biometric check, and removing the card from the cart, which warns that the discount will be lost.

Desktop hub home page with the cart open in a side panel
Desktop cart, opened as a side panel over the hub home page.
Full first-purchase user flow, with login, approval and anti-fraud decisions
First-purchase user flow, with the login, approval and anti-fraud paths.

Evolution

In version 2, from February 2024, the offer started showing the undiscounted price struck through, and card selection reused the credit card journey, keeping both journeys consistent.

Want something similar?

Describe the problem. alema.io replies with a path, not a generic quote.

Write to alema.io
Next casePorto (via Môre)Chosen name across every channel