AT&T · Billing & Payments · 2024–2026

Billing Center:
the busiest page
nobody wants
to visit.

More than a million visits a week, and almost none of them are happy ones. People come to Billing Center because something changed, something looks wrong, or something is due. I lead UX for the page that has to answer “why is my bill different?” before the customer picks up the phone.

What I ownedI led one designer and designed the GenAI bill explanation hands-on myself. I set the one question the page answers, took the reframe to leadership, worked with AI, Data and Legal on how GenAI shows up, and let A/B tests settle placement.

My roleUX Lead · led 1 designer
ScopeBill hub · Variance · First bill
SegmentsConsumer, IRU, SMB, Converged
TimelineOngoing · 2024–2026
PartnerRTB Service & Support POD
The scale this page operates at
1M+Weekly visits

The highest-traffic page in the entire account experience — and most visits begin with a customer who has a problem.

±$5Variance trigger threshold

How far a bill has to move before the page proactively offers an explanation — small enough to catch real confusion, large enough to stay quiet otherwise.

100%Bill Variance rollout

The GenAI explanation experience progressed from a 20% traffic throttle to full rollout, including Uverse customers.

10K+Annual calls targeted

Service calls that First Bill Explanation was built to deflect by explaining partial-month charges before they surprise anyone.

The problem

Billing is where trust is won or quietly lost.

Billing Center carries more traffic than any other page in the account experience — and a comparatively low engagement rate for a surface this critical. That combination tells the story: enormous volume, and a lot of people who arrive, don't find what they need, and leave.

The dominant question is always the same. Why is this different from last month? Historically, answering it meant reading a PDF, comparing two bills manually, or calling. Each of those is a failure of the page.

The design bet: if the bill could explain itself — proactively, in plain language, at the moment of confusion — we'd convert a call into a self-serve answer and turn a defensive page into a useful one.

Volume (danger level 1 of 3)

Everybody comes here

Millions of weekly visits spanning wireless, internet, converged, and unified accounts — each with different billing systems underneath.

Confusion (danger level 2 of 3)

“Why did my bill change?”

Bill variance is one of the largest drivers of billing calls, and first bills are the worst offenders thanks to partial-month charges and setup fees.

Identity (danger level 2 of 3)

“Is this my bill?”

Customers arrived wanting to see what they owed, met a balance figure, and read the page as an account summary rather than the bill itself.

My role

Making a page this big feel like it's answering one question.

Billing Center isn't a single design problem — it's a hub competing for the same limited real estate across bill activity, variance explanations, payment options, settings, and promotional content. My role is deciding what earns its place, and making the page feel purposeful rather than crowded.

Own the hub experience

Bill activity, balance, Manage settings, helpful links, and the navigation connecting Billing Center to payment, usage, and support.

Designed the Bill Variance deeplink

Combined GenAI explanation and Compare Bill into one view, entered from a navigation component shown only to customers with a variance.

Connected billing to payment

Dynamic payment CTAs driven by API response — suppressed when there's no balance, one-click when a saved method exists, full flow when there isn't.

Reframed the page

Led with the bill instead of the balance after research showed customers didn't recognize this page as their current bill.

Shipped against evidence

Partnered with Experimentation on placement and flow tests, then let confidence intervals decide what stayed.

Held it together across segments

Consumer, Small Business, converged, and unified accounts share this page while pulling from different billing systems and rules.

How I led

Leading the page everyone wants a piece of.

On the highest-traffic page in the account experience, leadership meant deciding what earns its place — and bringing Product, Business, AI, Legal, and Engineering to the same answer.

Team: 1 designer · Partners: Product, Business & Growth, Engineering, AI & Data, Content & Legal, Experimentation, Care & VoC, Payments

Frame

Made the page argue for one question

Mapped hub, variance, first-bill, and payment flows around a single intent — “why is my bill different?” — and used it to judge every request for space.

Align

Took the reframe to leadership

Presented the research behind leading with the bill instead of the balance, and secured partner and leadership approval for a structural change to the busiest page.

Shape

Set how GenAI shows up

Worked with AI, Data, and Legal on where a generated answer needs a human-readable comparison beside it, and how to disclose AI without alarming customers.

Decide

Let evidence settle placement

Turned placement debates into A/B tests and made the design call on what stayed, based on confidence intervals rather than seniority.

The journey

Turning a statement into an explanation.

The throughline across two years of work: stop making customers interpret their bill, and start having the bill interpret itself.

Bill Variance: throttled to full rollout

The deeplink experience rolled out progressively — starting at a 20% traffic throttle and reaching 100%, including GenAI explanations for Uverse customers. Post-online call rate (customers who call after using the page) fell 25%, and customer satisfaction (CSAT) rose 32%.

  1. 0.00.0
    Jul 2025 · First bill

    First Bill Explanation

    Interactive explanation for new customers covering partial-month charges and one-time setup fees — the two things that make a first bill feel wrong. Launched; results are still being measured.

    C.010
  2. 3.03.0
    Oct 2025 · Reframe

    Bill before balance (danger level 2 of 3)

    Research showed customers didn't recognize the page as their current bill. The hub was restructured to lead with the billing period and total, with status-driven account actions replacing a fixed menu. Click-through rose 23% and post-online call rate fell 12%.

    C.280
  3. 5.02.0
    Dec 2025 · Variance

    GenAI Bill Variance deeplink (danger level 1 of 3)

    A single view combining GenAI explanation and Compare Bill, entered from a component shown to customers with a variance of more than ±$5.

    C.310
  4. 8.03.0
    2026 · Payment

    One-click payment from the bill

    Dynamic payment CTAs on the variance page and balance block — connecting “I understand my bill” directly to “I've paid it.”

    C.010
  5. 10.02.0
    2026 · Scale

    Converged and unified accounts

    Extended variance and bill availability to unified and converged customers, where the underlying systems make a single coherent view genuinely hard.

    C.010

Months from kickoff · partial since last box · C. = heading · ! to !!! = danger

The work

Designing the page everyone visits and nobody enjoys.

Each screen here is a negotiation between competing claims on the same space — balance, activity, explanation, settings, offers — while the customer is usually looking for exactly one thing.

Highest-traffic account surface GenAI explanation integration Status-driven dynamic actions Motion & interaction specs Consumer, SMB & converged
01 · The hub

Everything competing for the same page

This is the full page as it stood before the reframe — and the density is the point. Balance, bill changes, last bill, per-line activity, Highlights, a quick-action row, Manage settings, Helpful links, a Customer Service Summary prompt, and three offer tiles all compete for one customer's attention.

The hierarchy decision: balance and bill activity own the left column, because they're the reasons people came. Settings and discovery live right. Offers and rewards sits below the fold — present, but never competing with the task.

Several details earn their place. The balance reads $00.00 with “AutoPay charged your VISA ending in 1234” directly beneath, so the most common visit ends in reassurance before any scrolling. “Changes on your last bill” — Your bill went up by $20.00 this month with a See why button — answers the page's dominant question proactively rather than waiting to be asked.

The bill block does real work too: Last bill, Nov 26–Dec 25, $145.96, an estimated savings total of $132.00 with a link to view discounts, then each line itemized by name with its own $10 discount badge. Someone auditing a bill can see both the total and the arithmetic behind it without leaving the page.

The module that didn't survive: the “I want to:” row — three fixed buttons for View all activity, Manage profile, and Manage payments. It shows everyone the same three things regardless of what's happening on their account. The next screen replaces it with actions that respond to account status, and that comparison is the clearest before-and-after in this case study.

Helpful links leads with Find out why your bill changed, because after two years of session research that remains the single most common intent on this page.

Full My Billing Center hub: current balance with AutoPay confirmation, changes on your last bill, itemized last bill with per-line discounts, Highlights, I want to row, Manage settings, Helpful links and Offers and rewards
02 · The reframe

Leading with the bill, not the balance

Compare this against screen 01 and one module is simply gone. The old page opened with Current balance; the redesign opens with Last bill — Nov 26–Dec 25 — $145.96.

That inversion came from a finding that sounds almost too simple to be real: customers didn't understand this page was their current bill. They arrived wanting to see what they owe, met a balance figure, and read the page as an account-status summary rather than the bill itself. Anyone who wanted the actual charges went looking elsewhere — or called.

Leading with the billing period and total makes the page's identity unmistakable in the first line of content. The balance hasn't been deleted; it's been relocated to where it belongs in the story, after the thing the customer came to read.

“Bill highlights and resources” replaces “Highlights.” The original label promised nothing in particular. The new one names both halves of what the module actually does — tell you what happened on this bill, and give you somewhere to go about it.

And the fixed “I want to” row is gone. In its place sits an account-status layer — “We applied a $10.00 credit to your account”, a conditional notification that only renders when something warrants it — followed by six actions that surface dynamically by status: Check data, call, and text activity, See billing history, View payment history, Make a payment arrangement, Manage plans and add-ons, and Update profile. A customer at risk of suspension needs an arrangement; one questioning a charge needs usage. Showing everyone the same three buttons served neither.

Smaller decisions that carried weight

Manage settings became a status board. Each row now states where the customer stands rather than just offering a link — Paperless billing carries a Signed up pill and shows the delivery email inline, Billing language shows English, and Split the bill carries its own Signed up state. That's the SplitPay lifecycle pattern reaching this page: sell before, confirm after.

Inline tooltips instead of a help article. “Split the bill among all the devices within your account” explains an unfamiliar feature at the moment of curiosity — a real fix, because SplitPay's whole problem was that nobody knew what it was.

A “Paid” badge on the savings module. One pill resolves the ambiguity of whether an amount is owed or settled.

Honest link labels. “Changes on your last bill” became “Recent bill changes”, and “See all support articles” became “See billing support” — scoped to this page instead of dumping people into the full support library.

Redesigned My Billing Center leading with Last bill, with Bill highlights and resources, dynamic account actions, and Manage settings status badges
03 · Explanation

Letting the bill answer for itself

When a customer's bill moves more than ±$5, a component appears in Billing Center pointing here. The page opens by restating the question in the customer's own terms — “Your bill changes”, then “Find out why your bill went up by $20.00 this month” — so there's no doubt they landed in the right place.

Two views used to live separately. A GenAI-written explanation sat in one place and a compare-bill tool in another, which forced customers to assemble the answer themselves. Merging them was the entire point of this work.

Understand your changes carries the generated summary; Compare bill details carries the arithmetic, line by line. Narrative first, evidence second — because someone who accepts the explanation never needs to scroll further, and someone who doesn't gets the receipts immediately below it.

Details worth noting

The AI disclosure is present and quiet. “This content is generated by AI… there may be errors or inaccuracies” sits directly beneath the summary in small type. Legal needed it stated; the customer needed it not to be alarming. Placing it under the content it qualifies — rather than as a banner above — satisfied both.

Dispute is designed in, not hidden. The instruction is explicit: select the line, then Don't recognize this fee, then Dispute this fee. Most billing pages bury this. Naming the path up front is what makes the explanation feel like it's on the customer's side.

Per-line rows show direction, not just delta. Each line carries Difference from last month with a red arrow and the amount, expandable for detail. The arrow does the work at a glance; the expansion serves the minority who want to audit it.

Understanding routes to action. View or download bill and Make a payment sit together at the close — the moment a customer accepts the explanation is the moment they're most likely to pay it.

“Was this info helpful?” A thumbs up/down on a generated explanation is a feedback loop on the model itself, and the only honest way to know whether an AI answer actually answered anything.

Your bill changes page with GenAI Understand your changes summary, AI disclosure, Compare bill details per line, and helpfulness feedback
04 · First impressions

The bill that always looks wrong

A first bill is the most disputed bill a customer will ever receive, for entirely legitimate reasons: advance billing produces partial-month charges, and one-time setup fees land all at once. The business case targeted tens of thousands of fewer service calls annually.

Rather than a static help article, First Bill Explanation is a guided, animated walkthrough — sixteen screens that build the bill up one layer at a time. Get familiar with your first bill opens it, then the story moves through the monthly basics, one-time fees, before your first bill cycle, and partial charges explained, before resolving into a total view and a final let's review.

The sequencing is the explanation. A customer disputing a first bill isn't confused by the total — they're confused by how it got there. Revealing each component against a running total lets the number assemble itself in front of them, so the answer arrives as an unfolding rather than a wall of line items.

This artifact is the build spec, not a mockup. Every transition carries its trigger, animation type, curve, and duration — and the two global rules at the top define how Back returns to the previous step while Start over returns to the first screen. Motion this dependent on timing can't survive a handoff described in prose.

Drag to pan · +/− to zoom · double-click to zoom in100%
First Bill Explanation prototype flow: sixteen annotated mobile screens with animation triggers, curves and durations

Screens use placeholder (FPO) content and fictional account data.

Results

What changed.

Small decisions on a page this size move very large numbers.

Traffic across post-purchase surfaces

Representative weekly visits — Billing Center carries more than any other account page.

100
Billing
Center
76
Account
Overview
56
Make a
payment
35
Usage
Relative weekly visits, Billing Center = 100. High traffic, comparatively low engagement — the gap this work targets.

Call deflection targets

Billing confusion is expensive; explanation is the cheapest intervention available.

10K+

annual calls targeted by First Bill Explanation

±$5

variance threshold that triggers a proactive explanation

20% → 100%

Bill Variance throttle, from first traffic slice to full rollout

How a first bill assembles

The walkthrough builds the total one layer at a time, rather than presenting it complete.

$100
Monthly
charges
$130
+ One-time
fees $30
$138
+ Partial
month $8
$148
+ Taxes
& fees $10
$163
+ Subscriptions
$15
Each step reveals one component against a running subtotal — so the number arrives as an explanation, not a surprise.
Working across the org

The connector role.

Billing Center sits at the intersection of four billing systems, three customer segments, and every team that wants space on the highest-traffic page in the account experience. Most of my work here is adjudicating that — keeping the page coherent while everyone optimizes their own slice.

ProductSequenced variance, payment, and settings work so the page improved steadily instead of fragmenting.
UX LeadOne coherent bill hub across systems, segments, and stakeholders
Business & GrowthNegotiated promotional and enrollment placement against the customer's actual reason for visiting.
Engineering & ArchitectureDesigned against real API responses so conditional components render truthfully across different billing systems.
Content & LegalPartnered on variance language, first-bill explanations, and billing disclosures at a readable level.
AI & DataShaped how GenAI bill explanations surface — and where a generated answer needs a human-readable comparison beside it.
ExperimentationConverted placement debates into A/B tests, then shipped the winners with confidence intervals attached.
Care & VoCUsed session replay and verbatim feedback to find failures that metrics never showed.
PaymentsKept the bill and the payment path feeling like one continuous experience rather than two products.

Note: This content is generated by AI. As we work to improve it, there may be errors or inaccuracies and should be treated as for information purposes only.

— AI disclosure, Bill Variance explanation — present for legal, quiet for the customer

What I'd take forward

Lessons worth keeping.

  • Proactive beats searchable. The best answer to “why did my bill change?” is one the customer never had to go looking for.
  • Name the page in its first line. Customers didn't know this was their bill until we led with the bill instead of the balance.
  • Sequence is explanation. A first bill makes sense when it assembles in front of you, one layer at a time, instead of arriving complete.
  • Suppress when there's nothing to say. Hiding the payment CTA for customers who owe nothing made the page feel like it was paying attention.
  • Match the actions to the account. Someone facing suspension needs an arrangement; someone questioning a charge needs usage. A fixed three-button row served neither well.
  • Disclose without alarming. The AI notice had to be present for legal and quiet for the customer — placement solved what wording alone couldn't.

Where it's headed

Variance explanation continues expanding across converged and unified accounts, with tighter integration between understanding a bill and acting on it — including one-click payment directly from the explanation.

The longer-term goal is a billing experience that opens by telling you what changed and what to do about it, rather than waiting to be asked.

Engagement is better, but not where we want it. The strongest next step, in my view, is to simplify and merge Payment Center and Billing Center, so customers have one place to understand and pay their bill.

Next projectPayment MethodOne component, every dollar collected.
← All projects