We do a lot of mystery shopping at Comperemedia. Credit cards. Deposit accounts. A few scenarios so specific I will keep them to myself. Somebody signs up, writes down what happened, and we learn more in an afternoon than a month of dashboards would tell us.
So I hired a shopper of my own. Mine is an AI agent. It reads a website in about a second, and it never gets bored. I gave it five simple tasks at each of the fifty biggest consumer finance sites in America. Find the rate. Compare two products. Get the fee schedule. Find one specific number. Then walk up to the page where you open the account and read what it says.
Two hundred and fifty tasks later, one number surprised me.
Seven sites out of fifty told my shopper what you need in order to apply.
The other tasks went fine. Comparing two products scored 77 out of 100 on average. Fee schedules and terms, 73. Rates and APRs, 71. Then the shopper reaches the page where somebody opens an account, and the average drops to 25.
One card application sent 191,021 bytes (which is way too many) and produced one character of readable text. One character.
I wondered the same thing. Then I looked at which page it is.
The application page is the most guarded page a bank owns. It is where fraud gets attempted, so it carries the heaviest security, and the form itself gets built inside the browser with identity checks and validation wired in. Every one of those choices makes sense.
The side effect is the part nobody planned. The same defenses that keep fraud out of the form also keep an AI assistant from telling a real customer what to bring. Your product page can do a beautiful job, and the conversation still ends at the door.
The fix is smaller than it sounds, because letting machines into the form was never the point. Put one plain page in front of the form that says what you need. ID, opening deposit, who qualifies. Wells Fargo does this today and scores 68, where the field averages 25.
| Rate | Compare | Fees | Routing | Apply | ||
| SECU | 93 | 91 | 92 | 95 | 75 | 89 |
| SchoolsFirst FCU | 92 | 90 | 87 | 93 | 68 | 86 |
| Wells Fargo | 55 | 92 | 87 | 88 | 68 | 78 |
| SoFi | 90 | 76 | 88 | 76 | 58 | 78 |
| Navy FCU | 92 | 90 | 87 | 95 | 20 | 77 |
| Wealthfront | 92 | 78 | 85 | 80 | 18 | 71 |
| Varo | 92 | 74 | 90 | 78 | 12 | 69 |
| Robinhood | 90 | 88 | 86 | 15 | 40 | 64 |
| Betterment | 92 | 78 | 82 | 22 | 35 | 62 |
| Bank of America | 25 | 85 | 88 | 78 | 30 | 61 |
| USAA | 25 | 82 | 87 | 93 | 16 | 61 |
| Truist | 92 | 90 | 86 | 18 | 15 | 60 |
| Cash App | 90 | 87 | 90 | 18 | 16 | 60 |
| Current | 90 | 72 | 87 | 16 | 27 | 58 |
| U.S. Bank | 80 | 90 | 86 | 15 | 16 | 57 |
| PayPal | 92 | 70 | 90 | 18 | 15 | 57 |
| Chime | 93 | 82 | 65 | 15 | 24 | 56 |
| MoneyLion | 55 | 88 | 88 | 18 | 18 | 53 |
| Chase | 25 | 90 | 85 | 20 | 15 | 47 |
| Citi | 22 | 90 | 86 | 15 | 17 | 46 |
| TD Bank | 24 | 90 | 28 | 18 | 48 | 42 |
| Capital One | 15 | 85 | 50 | 15 | 15 | 36 |
| PenFed CU | 12 | 12 | 10 | 58 | 40 | 26 |
| Fifth Third Bank | 15 | 15 | 15 | 15 | 15 | 15 |
| PNC | 12 | 12 | 10 | 12 | 10 | 11 |
| APR | Compare | Terms | Offer | Apply | ||
| Bilt Rewards | 90 | 90 | 88 | 90 | 50 | 82 |
| Synchrony | 92 | 88 | 88 | 78 | 55 | 80 |
| Barclays US | 90 | 88 | 92 | 90 | 18 | 76 |
| Chase | 92 | 88 | 92 | 90 | 15 | 75 |
| Wells Fargo | 92 | 90 | 90 | 90 | 15 | 75 |
| Navy FCU | 92 | 90 | 88 | 90 | 15 | 75 |
| SchoolsFirst FCU | 90 | 88 | 88 | 85 | 22 | 75 |
| Discover | 92 | 88 | 87 | 86 | 15 | 74 |
| SoFi | 90 | 88 | 90 | 78 | 25 | 74 |
| SECU | 92 | 90 | 88 | 78 | 20 | 74 |
| Citi | 82 | 90 | 85 | 92 | 15 | 73 |
| Robinhood | 90 | 88 | 92 | 78 | 15 | 73 |
| U.S. Bank | 82 | 88 | 91 | 85 | 15 | 72 |
| Upgrade | 90 | 85 | 80 | 88 | 15 | 72 |
| Petal | 90 | 90 | 88 | 78 | 15 | 72 |
| PayPal | 90 | 60 | 90 | 80 | 20 | 68 |
| Capital One | 90 | 90 | 50 | 92 | 15 | 67 |
| American Express | 70 | 88 | 87 | 25 | 18 | 58 |
| Bank of America | 70 | 58 | 86 | 48 | 15 | 55 |
| Apple Card | 90 | 65 | 25 | 78 | 15 | 55 |
| Chime | 88 | 87 | 45 | 25 | 15 | 52 |
| Avant | 90 | 45 | 25 | 78 | 15 | 51 |
| USAA | 58 | 45 | 62 | 20 | 34 | 44 |
| Mission Lane | 15 | 85 | 12 | 22 | 15 | 30 |
| PenFed CU | 12 | 10 | 10 | 10 | 24 | 13 |
Fifteen brands show up in both studies. Hardly any of them score the same in both.
Chase goes from 47 on deposits to 75 on cards. Capital One, 36 to 67. Citi, 46 to 73. Same bank, same web team, two very different results.
The reason is simple. Card rates and fees have been compared side by side by shoppers and comparison sites for twenty years, so those numbers ended up written into the page itself. Deposit pages grew up with a different audience.
Which is good news. Somebody in the same building has already solved this once.
NaN is short for Not a Number. It is what a computer says when you ask it to do maths with an empty box. Ask a calculator to divide by a blank cell, and you get the same answer.
On the morning of 6 August, one of the biggest savings pages in the country described itself as one of the best savings rates in America. Where the rate should have been, my shopper got NaN APY.
The page had the date right. It had the fine print right. The rate itself showed up a second later, once my shopper had read the page and moved on.
Two more from the same week. One page offered "Rates up to APY* with minimum balance of $250,000". Another said rates were unavailable and to call.
Same cause each time. Rates change daily, so they get pulled from a pricing system a moment after the page loads. Card APRs sit inside the page because they rarely move. That is the whole reason APR pages score 71 and savings rate pages score 62.
Here is something new. A handful of companies have started publishing a file called llms.txt. Think of it as a page written for AI instead of for people: a short index of who you are and where your important information sits. It lives at yourbank.com/llms.txt. Anyone can open it. Almost nobody does, apart from machines.
Eight of the fifty publish one today, and the best of them are very good.
U.S. Bank has the most complete one I have seen anywhere. More than four thousand lines, every page titled and described, with direct paths to checking, savings, CDs, and the disclosure library. An AI that arrives there gets a map of the whole site in a single read.
PayPal treats its file like a product. It carries a version number, 1.0.4, a last-updated date of 28 February, and more than two hundred links sorted by consumer, merchant and enterprise, with guidance by country.
Mission Lane is the one I keep thinking about. Its file lists all four Visa cards with the annual fee, the rewards rate, the starting credit line, and the key features. When my shopper was turned away at the product pages, that one file was the only place the cards could still be read. A single text document did the work of the whole card section.
None of this is expensive. It is one file, written once, updated when your products change. The companies that have one are teaching every AI system what a good answer about them sounds like.
All fifty scorecards, both leaderboards, and the method are at competitive-compass.com/mystery-agent. Nobody applied for anything, nobody opened an account, and nothing was worked around. My shopper reads and touches nothing.