Most bad campaigns are bad lists with good copy on top. This front-loads the arguing: you agree what the list is, check a sample of it by hand, and only then pay to build the whole thing.
The expensive failure mode in list building is not a bad provider. It is a spec that sounded right in a planning document and is subtly wrong in reality: a title that means something different in this industry, a size band that catches the wrong kind of company, a geography filter that quietly includes head offices of firms operating elsewhere.
None of that is visible in the spec. All of it is obvious the moment somebody reads twenty actual rows. So twenty actual rows get read, by a person, before the rest of the build is authorised.
Eight dimensions, applied to the finished list rather than to the intention behind it.
Leads whose address does not verify go through a recovery pass rather than straight to the bin. A meaningful share of them come back with a working address from a different source, and every one of those is a lead you already paid to find.
The build can run through the automated engine or through a manual enrichment path, and which is right depends on the shape of the ICP rather than on preference. That choice is made explicitly in the spec, with the reasoning written down, so it can be revisited when the campaign underperforms.
Skills compound. These are the ones we usually install alongside it.