The photos look the same. The prices don’t. A comparison template for what listings bury — construction, care, and what the absence of information means.

There are two dresses in your cart. Same silhouette, same length, nearly the same print. One is $48, the other is $89, and in the product photos they are essentially the same dress. You keep opening both tabs, zooming both photos, and learning nothing.
Here’s the thing the tabs can’t tell you: the decision was never going to live in the photos. Product photography is designed to make dresses look identical — same lighting, same pose, same steaming. What distinguishes two dresses lives where the camera doesn’t go: inside the garment, on the care label, and in the return policy. This is a template for comparing exactly those things, and for reading what a listing doesn’t say.
Why the photos can’t decide
A product photo shows you the outside of a dress in perfect conditions. It cannot show you whether the dress is lined, how the seams are finished, whether it’s opaque in daylight, or what it costs to keep. Those four facts determine how the dress behaves in real life — how it drapes, whether you need a slip, how it survives washing — and listings systematically bury them. Not out of malice; the details section is written to sell, not to specify.
So the comparison has to happen somewhere the listing won’t do it for you. That’s what the template below is for. Fill it in from both listings, and score every blank honestly: unknown is a score, not a shrug.
The comparison template
For each dress, work through these seven rows. Write down what’s stated — and mark what’s not stated as unknown. Unknowns are never scored as good.
| Row | What to record | Where to find it |
|---|---|---|
| 1 · Fabric | Fiber content with percentages. Check the named fiber leads and they add to 100. | Fiber-content line. Distrust the headline — read the percentages. |
| 2 · Lining | Fully / partially / unlined — and the lining’s fiber, if named. | Details section. Silence on lining ≈ unlined, basic construction. |
| 3 · Construction | Seam finishing quality — French, bound, overlocked, pinked. | Customer photos and zoomable interior shots. Descriptions almost never say. |
| 4 · Opacity | Fully opaque, or assume a slip is needed. | Customer photos in natural light. “Fully lined” usually answers this row. |
| 5 · Care | Machine wash, hand wash, dry clean — and whether you’d actually do it. | Care label / instructions. Care is a per-wear cost. |
| 6 · Price per likely wear | Price ÷ honest two-year wear count. | Your own estimate — be honest, not aspirational. |
| 7 · Returns | Window, who pays shipping, refund method, restocking fees, exclusions. | Returns page. Catch the words “final sale.” |
The scoring rule: verified information goes in the dress’s column; anything the listing doesn’t establish goes in as unknown — and unknown is scored as unknown, never as good. “Neither” is a genuine outcome.

Fabric composition. Read the fiber-content line, not the headline. Check that the named fiber leads the percentages and that they add up to 100 — the headline fiber is sometimes the minority. “Silk-blend” that turns out to be 5% silk is a different garment than the headline suggests.
Lining. Does the listing say “fully lined,” “partially lined,” or “unlined”? And does it name the lining’s fiber? “Fully lined” in a structured dress is generally a quality signal — more construction steps, better drape, built-in opacity. The lining fiber tells you more: silk and Bemberg cupro are the better tier (breathable, beautiful drape); viscose is breathable but less durable; polyester is durable and cheap but less breathable and static-prone. A listing silent on lining is almost certainly unlined with basic construction. That silence is information.
Construction and seams. Product descriptions almost never name seam finishes, and main photos never show interiors. So this row is mostly about where to look: customer review photos and any zoomable interior shots. What you’re hoping to see: French seams (fully enclosed, sewn twice — they take far longer, so they signal craftsmanship), or bound seams in better unlined garments. Overlocked/serged edges are the mass-production standard — functional, neither a red flag nor a quality mark. Pinked zigzag edges are the cheapest finish. If no interior view exists anywhere, score it unknown — and remember that unknown here usually means standard.
Opacity. “Fully opaque” means no slip needed. “Unlined” on a light-colored or lightweight dress with no opacity note means assume you’ll need one. Listings never publish fabric weight figures, so don’t hunt for numbers — customer photos in natural light are the real opacity test. Note that “fully lined” is usually the listing’s way of solving the opacity question, which is why lining and opacity belong together.
Care. The care label is a second spec sheet. A “silk” dress marked fully machine-washable is probably synthetic; dry-clean-only hints at delicate construction. Care is also a cost: dry cleaning is a per-wear tax. Be honest about your habits — if you don’t dry-clean things now, a dry-clean-only dress is a dress you won’t wear.
Price per likely wear. Divide the price by the number of times you’ll realistically wear it in two years — not the fantasy number, the honest one. A $48 dress worn twice costs $24 per wear. An $89 dress worn twenty times costs $4.45. This row doesn’t decide by itself, but it translates the price difference into the only currency that matters.
Return policy. The return policy is part of the price. Compare: the window (how many days, and when the clock starts), who pays return shipping, refund method (original payment vs. store credit), restocking fees, and exclusions. The single most important word to catch is “final sale.” A cheaper dress with buyer-paid returns and a short window can cost more than a pricier one if it doesn’t work out.
A worked example
These are illustrative dresses — invented to show how the template works, not reviews of real products.
| Row | Dress A · $48 | Dress B · $89 |
|---|---|---|
| Fabric | 100% polyester (stated) | Shell 100% viscose (stated) |
| Lining | “Unlined” (stated) | “Fully lined,” lining 100% viscose (stated) |
| Construction | Not stated; no interior photos — unknown | Not stated; customer photos show neat interiors — unknown |
| Opacity | Not stated; light print, unlined — assume a slip | Fully lined, dark print — no slip needed |
| Care | Machine wash | Dry clean recommended |
| Price / likely wear | ~6 wears → $8/wear | ~15 wears → ~$6/wear + cleaning |
| Returns | 14 days, buyer pays shipping, final sale on discounted colors | 30 days, prepaid label, full refund |
Dress B wins on construction, opacity, and returns; Dress A wins on care convenience and upfront price. But notice what the template doesn’t do: it doesn’t declare a winner. If you never dry-clean anything, Dress B’s “win” is theoretical — its real cost includes cleanings you’ll resent. If you need a dress for an event next week and Dress A is final sale in your size with unknown opacity, the risk isn’t worth $48. The template’s job is to make the trade-offs visible so the decision is yours, not the listing’s.
And sometimes the honest output is neither. If both dresses fail your non-negotiables — the opacity you need, the care you’ll actually do, the return terms you can live with — the template has still worked. “Neither” is not the template failing. It’s the template saving you two returns, or one dress you never wear.

The habit
The listing is a sales document, not a spec sheet. Once you’ve run this template a few times, you start reading listings differently — scanning past the photos to the fiber line, the care instructions, the returns page, the customer photos. You learn which details a listing volunteers (the good ones) and which it omits (the telling ones).
Two dresses will keep looking identical on screen. They were never identical. Now you know where to look.

[…] money you didn't lose on a final-sale mistake is worth exactly as much as money you saved. Our dress-comparison framework treats "neither" as a valid outcome — final sale deserves the same discipline, with […]
[…] that passes it has earned consideration, not trust. Pair the check with the other tools: our dress-comparison framework for construction rows, the coverage checklist for what listings hide, and reviews for how things […]