Falsification pass
Task 10. Adversarial re-check of the completed audit, run 1 Sep 2026, later the same day as the eight workstreams and the merge. Internal working document, not the client deliverable.
Method. Every hard claim in the top five was re-pulled from the platform, the live site, or the source export rather than read out of the workstream document. Where a second, independently-shaped derivation existed it was run; where none existed that is recorded as a gap. Every comparison underpinning the top five was checked for the two failure modes that cost this engagement four withdrawn claims: a figure drifting from its source without re-check, and two windows that do not match being compared as though they did.
Posture. Read-only throughout. Every Meta and GA4 call was a GET or a runReport. Shopify went through scripts/shopify-guard.sh. The order CSV was read in place, outside the repo, and only PII-free aggregates appear below.
Headline. One top-five claim does not survive and must be withdrawn. One must be reworded before a client sees it. Three survive. The thesis survives a serious attack, but its stated magnitude does not.
---
1. Verdicts on the top five
| # | Claim | Verdict |
|---|---|---|
| 1 | SEO-01 / SHOP-03: flagship structurally unfindable | WITHDRAW as a defect claim |
| 2 | ECON-02: break-even fails at any margin | SURVIVES |
| 3 | TRACK-02: GA4 undercounts revenue by 24.3% | SURVIVES, one framing fix |
| 4 | META-03: $1,900.66 on ad sets that cannot fire a purchase | DEMOTE: reword or drop |
| 5 | GEO-01: no independent AI-assistant citation | SURVIVES |
---
1. SEO-01 / SHOP-03 -- WITHDRAW
What reproduces. All of the mechanical facts do, exactly.
products(first:10)via the guard, 1 Sep 2026: `String Protech® Guitar
String Protection Case, handle string-pro-tech®, status: UNLISTED, 942 units, SKU SP-GPC-BLK-001`, $59.99.
- Live fetch of
/products/string-pro-tech%C2%AE: HTTP 200, and
<meta name="robots" content="noindex,nofollow"> present. The combo page fetched at the same moment carries no robots meta at all.
sitemap_products_1.xmllists exactly two URLs plus the homepage:
/products/custom-vinyl-sticker and /products/guitar-string-protection-case-and-custom-vinyl-sticker. The flagship is absent.
- GA4, 2026-06-03 to 2026-08-31: 102 landing sessions on that path, 105
sessions total, 1 transaction at $0.00 revenue.
What breaks the claim. The audit never asked why the product is UNLISTED. It is a bundle component.
Querying bundleComponents on the store's only active seller (gid://shopify/Product/9224036155642, Guitar String Protection Case with Custom Vinyl Sticker) returns two components:
| Component | Product id | Status |
|---|---|---|
Custom Vinyl Sticker - String Protech® | 8888400969978 | ACTIVE |
String Protech® Guitar String Protection Case | 8888395497722 | UNLISTED |
productVariantComponents confirms it at variant level: the $59.99 bundle variant is composed of the $9.99 sticker variant plus the $59.99 flagship case variant, quantity 1 each.
Shopify's own developer documentation for unlisted status, the same page 40-seo.md cites as evidence for the noindex behaviour, names this exact configuration as an intended use: a product that sells exclusively as part of a bundle, which you do not want displayed on the storefront or in search results, set to unlisted so it stays purchasable through the parent product. The audit read the half of that page describing the consequence and not the half describing the purpose.
The order export corroborates it independently. Every paying order from 2026-06-06 onward is the bundle, exploded into two component line items at $51.43 and $8.56 summing to $59.99. The flagship is not a stranded product. It is the case the store has been selling all along, through a listing that is ACTIVE, indexed, and present in the sitemap, and which took 1,113 landing sessions and 4 of the store's 20 GA4 transactions in the last 90 days.
Why this must be withdrawn rather than softened. The client-facing text says the product "has no path to new discovery" and that the fix is "a decision on the product's listing status". Presented to a founder who set that status deliberately, or whose developer did, it is a confident accusation of misconfiguration against a configuration that matches the platform vendor's documented recommendation. That is the single most expensive kind of error an audit can make in a first client meeting.
Second method. Three independent methods confirm the mechanical facts (Admin API status, live robots meta, sitemap absence) and a fourth (order line items) confirms the product sells. No method was ever run to test whether the status was intentional. That absence is the finding.
What survives, and is worth keeping at lower billing. Three smaller, defensible facts sit underneath:
1. The store's entire products sitemap contains two URLs, and all four products carry an empty SEO-title field (SEO-04). That is real and unaffected. 2. The bundle-component page is still publicly reachable and still absorbs 102 sessions a quarter that cannot convert into discovery, while lacking the Stage 1 page build (CRO-04) and the Judge.me review schema (SEO-06) its sibling has. The fix is to stop linking to it or redirect it, not to publish it. 3. The DRAFT duplicate on the same SKU (SHOP-01, SHOP-02) remains a genuine record-hygiene problem, independent of all of the above.
Recommend replacing this item in the top five with META-04 (audience fragmentation, frequency 17.79, corroborated by Meta's own Opportunity Score) or GADS-03 (see the window audit below), both HARD, both prior-art clean.
---
2. ECON-02 -- SURVIVES
Re-derived from source, not from the document.
- The order CSV was re-parsed independently of
scripts/analyze-orders.ts:
26 orders, 1 cancelled, 25 live, 19 paying, sum of paying totals $1,788.30, refunds across all live orders $0.00, AOV $94.1211. Byte-agreement with orders-aggregate.md.
- Meta lifetime spend, three query shapes run fresh: account-level insights
$4,823.25, campaign-level summed $4,823.25, ad-set-level summed $4,823.24. Account amount_spent field $4,801.42.
- Google GA4-visible spend, May to Aug 2026: $821.77.
- Break-even at 100% gross margin is the AOV itself, $94.12, by definition.
Blended CPA $5,623.19 / 19 = $295.96. Ratio 3.14x. Margin required 314.4%.
Every figure holds. The claim does not depend on the disputed spend numbers: substituting the cross-checked Meta figure gives $5,645.02 / 19 = $297.11 and changes nothing.
Second method. Yes, and it is a genuinely independent one. The platform-attributed route reaches the same conclusion from a different denominator: Meta's own claimed purchases against Meta's own spend give $369 to $438 per order (ECON-03), worse than the blended figure, so the conclusion holds whether you use Shopify's order count or Meta's. A third route, the required-AOV computation in section 3 below, reaches it again.
One correction required. The repeat-purchase cross-check inside ECON-02 is wrong, in the direction that flatters the counter-argument. Of the three "repeat buyers" behind the 14.3% figure, one placed a paying order on 2025-11-06 and a $0.00 Hexx100 order on 2026-05-28. Hexx100 is the sample/reviewer code that 80-unit-economics.md itself identifies as such. A free sample sent to a past customer is not a repeat purchase.
| Measure | Audit states | Re-derived |
|---|---|---|
| Repeat buyers | 3 of 21 = 14.3% | 2 of 21 = 9.5% |
| Buyers with more than one paying order | not computed | 2 of 17 = 11.8% |
| Distinct paying buyers | not computed | 17 |
| Revenue per distinct paying buyer, to date | $85.16 to $112.05 (two constructed reads) | $105.19 ($1,788.30 / 17), no construction needed |
The corrected figure strengthens ECON-02's conclusion, and $105.19 is a cleaner number to put in front of a client than either of the two constructed reads, because it needs no assumption at all.
---
3. TRACK-02 -- SURVIVES, with one framing fix
Re-pulled live. GA4 property, single range 2025-11-01 to 2026-09-02: transactions=20, purchaseRevenue=$1,353.38, ecommercePurchases=20, sessions=9749. Undercount against Shopify's $1,788.30: $434.92 / $1,788.30 = 24.320%. The 24.3% figure is exact.
Second method, and a third. Both exist.
1. Transaction-level pull by transactionId over the whole range returns 20 distinct ids summing to $1,353.38, of which 14 carry revenue and 6 are $0.00. The six zero-revenue GA4 transactions match Shopify's six zero-value orders one for one. 2. A differently-shaped query, dimensioned on sessionGoogleAdsCampaignName, independently returns 19 transactions and $1,353.38 on the (not set) row plus 1 transaction at $0 revenue on the Pmax row: 20 and $1,353.38 again, from a query that shares no dimension with the first. 3. Month-by-month, three months reconcile to the cent (Jan 2026 $120.00, Jul 2026 $59.99, Aug 2026 $293.96), which rules out a currency or conversion-rate explanation for the gap in the other months.
The framing fix. "20 GA4 transactions against Shopify's 19 revenue-generating orders" invites a client to read GA4 as counting more, not fewer. The correct like-for-like statement, now available at transaction level: GA4 records 14 revenue-bearing transactions against Shopify's 19 paying orders, and $1,353.38 against $1,788.30. Same conclusion, no ambiguity. Use that wording.
---
4. META-03 -- DEMOTE
The spend figure reproduces, near enough. Ad-set-level lifetime insights pulled fresh give four ad sets with a non-purchase optimisation goal:
| Ad set | Goal | Lifetime spend | purchase | value |
|---|---|---|---|---|
[Visitas ao Perfil] [25-64] | PROFILE_VISIT | $824.05 | 0 | $0.00 |
[Engajamento com a publicação] [25-64] | POST_ENGAGEMENT | $506.07 | 1 | $59.99 |
[Visualizçação de vídeo] [25-64] | THRUPLAY | $324.02 | 0 | $0.00 |
[Engajamento com a publicação] [25-64] [facebook] | POST_ENGAGEMENT | $247.33 | 0 | $0.00 |
| Total | $1,901.47 | 1 | $59.99 |
$1,901.47 of $4,823.25 is 39.42%. The register's $1,900.66 and "39 percent" are both fine, allowing for same-day drift.
What breaks the wording. The register says these are ad sets "whose optimization goal carries no purchase-capable event" and the client-facing text says this is "money that was never able to buy a sale, by the platform's own design".
That is false, and Meta's own API says so. Pulling ad set 6936204394008 alone returns purchase: 1, offsite_conversion.fb_pixel_purchase: 1, initiate_checkout: 1, and action_values.purchase: 59.99. The pixel fires and attributes regardless of the optimisation goal; the goal governs what Meta bids toward, not what it can report. A client who opens Ads Manager, filters to the [USA] [String Protech] [Engajamento] campaign and sees "1 purchase" has caught us in a factual error on our own flagship waste number.
The defensible version, which is stronger anyway. $1,901.47, 39.4% of lifetime Meta spend, ran on ad sets Meta was never instructed to find buyers with. Between them they returned one attributed purchase worth $59.99. That is $1,901.47 per purchase and a 0.032 return on ad spend on 39% of the budget. State the outcome, not a claim about what the platform can or cannot do.
Second method. Yes. Campaign-level insights, a different query shape, independently return [USA] [String Protech] [Visitas ao Perf] at $824.05 with 0 purchases, [Visualização de vídeo] at $324.02 with 0, and [Engajamento] at $753.41 with 1. The optimisation goals themselves come from a third call, /adsets?fields=optimization_goal,promoted_object.
Recommendation. Either reword to the outcome-based version above and keep it, or drop it from the top five and promote META-04. Do not publish the current wording.
---
5. GEO-01 -- SURVIVES
Re-tested by a second, independent method. The original evidence is one live AI-assistant query on one day, which is thin for a claim phrased as "no independent citation anywhere". The underlying proposition is testable without any AI assistant: does an independent third-party citation of this brand exist on the open web at all? If it does not, no assistant can cite one, and the finding follows deductively rather than by sampling one assistant's behaviour.
A fresh web search for "String ProTech" guitar string protection case review with the brand's own domain excluded returned nine results, none of which mention the brand. They are Protec (an unrelated case manufacturer), Strings By Mail category pages, MusicRadar's coverage of the G-Suit, and The Guitar Necktie's own site. Zero third-party reviews, zero editorial mentions, zero forum threads.
That is a second derivation path on a different index, on a different day, reaching the same conclusion. GEO-01 survives.
One incidental find that strengthens it. MusicRadar, a national music-gear publication, has covered a direct competitor (G-Suit) in exactly this category. The category is not beneath editorial notice. String ProTech simply has none of it.
Wording caution. Say "no independent third-party coverage of the brand was found on any index tested" rather than "zero independent AI-assistant citation anywhere". The first is what was measured. The second generalises one assistant's behaviour to all of them.
---
2. Window audit
Every comparison underpinning the top five, with both sides' ranges stated and checked for identity. The question asked of each: could this be a partial dataset presenting itself as complete?
| Comparison | Side A window | Side B window | Identical? | Verdict |
|---|---|---|---|---|
| ECON-01/02 blended CPA | Meta spend 2025-12-03 to 2026-09-01; Google 2026-05-01 to 2026-08-31 | 19 paying orders 2025-11-06 to 2026-08-28 | No | Disclosed in ECON-08. Mismatch flatters the headline. Corrected figure $330.78 given. Acceptable, but the disclosure must travel with the number |
| TRACK-02 GA4 vs Shopify | GA4 2025-11-01 to 2026-09-02 | Shopify 2025-11-06 to 2026-08-28 | No, GA4 is a strict superset | Safe. A superset can only add. GA4's Sep 2026 partial month is 0 transactions, verified. Direction of the undercount is robust |
| META-03 spend share | Ad-set lifetime, date_preset=maximum | Same call, same rows | Yes | Clean |
| TRACK-01 (the withdrawn 2x claim's replacement) | Meta 2026-06-03 to 2026-08-31, 6 purchases | Shopify "June to August", 8 paying orders | Checked | Holds by luck, not by construction. All 8 Shopify paying orders in that period fall on or after 3 June, so the windows coincide in practice. Verified order by order. Note that the calendar-month Meta pull returns 7, not 6, for the same $455.96, so the same document that withdrew a claim for a window mismatch describes a 90-day Meta figure as "June to August". Relabel it |
| GEO-01 | n/a, existence claim | n/a | n/a | Not a windowed comparison |
Partial-dataset traps checked explicitly.
- Shopify 60-day Admin API boundary. Not in play for any top-five claim.
Every order figure traces to the 12-month CSV export, re-parsed independently for this pass, not to the Admin API. Confirmed by reading the export directly: first order 2025-11-06, last 2026-08-28, 26 orders. The Admin API would have shown 3.
- GA4 Google Ads cost visible only from link creation. In play, and there
is now positive evidence for it. GA4 records 21 google / cpc sessions in April 2026 against $0.00 reported Google Ads cost in that month, with sessionGoogleAdsCampaignName and sessionCampaignName both (not set). That is the signature of gclid-tagged traffic arriving before an Ads-to-GA4 link exists. It cannot be distinguished from a manually UTM-tagged link on the access this engagement holds, so it stays UNKNOWN, but GADS-02's "floor, not a total" is no longer only an argument from an access boundary. See the overturn-condition check.
- GA4 property start date. The property holds no data before Nov 2025 at
all. Any Google or Meta activity before that month is invisible by construction, not merely unlinked.
Two figures that moved between the workstream pull and this one, hours apart, on a live account.
| Figure | Workstream value | This pass | Drift |
|---|---|---|---|
| Meta lifetime spend, cross-checked | $4,821.05 | $4,823.25 | +$2.20 |
Meta amount_spent | $4,801.42 | $4,801.42 | none |
| META-01's unreconciled gap | $19.63 | $21.83 | +$2.20 |
| Google whole-range GA4 cost | $822.90 | $823.08 | +$0.18 |
This is diagnostic, not noise. amount_spent is frozen while Insights climbs, which means the account is still spending today and the two fields are on different accounting bases (billed versus delivered), not in conflict. That is a better explanation of META-01 than "two sources disagree", and it means no Meta spend figure should ever be published without a timestamp. Quote a range or an as-at time, never a bare dollar figure.
GADS-01's $1.13 gap is a date-range artifact, not a query-shape disagreement. Re-run today: the same campaign-name query returns $821.77 over 2026-05-01 to 2026-08-31 and $823.08 over 2025-11-01 to 2026-09-02, while April alone and 1 to 2 September alone each return $0.00. The two "methods" were never querying the same range. Reporting it BLOCKED was the right call; the cause is now identified. All readings agree that Pmax is $481.61 and the two video campaigns are $340.17 to $341.28, so GADS-03 is unaffected.
The yearMonth cost inflation trap reproduces exactly. Breaking advertiserAdCost down by yearMonth with a campaign-name filter returns $48,964 against a true $821.77, a 59.6x inflation. The workstream documented this as a forbidden method and did not use it. Confirmed correct.
---
3. Challenges to inferred claims in the register
Six INFERRED or interpretation-bearing rows were re-tested. Two do not survive.
SEO-07 -- WITHDRAW as stated
The claim: "zero on-site content exists for the problem-aware queries that would introduce a buyer to this category."
sitemap_blogs_1.xml lists two published articles, both HTTP 200:
/blogs/news/diy-methods-for-extending-the-lifespan-of-your-guitar-strings/blogs/news/combatting-guitar-string-corrosion-introducing-string-pro-tech®
The first is a problem-aware article by title and subject. GA4 records sessions on it. The workstream checked /blogs/news and reported finding no problem-aware article; the sitemap and the blog index both list one.
The correct, defensible claim is narrower and still useful: two blog posts exist, one of them problem-aware, and neither ranks. Search Console for the full 2026-06-02 to 2026-08-31 window shows /blogs/news at 1 impression, position 7.0, 0 clicks. The problem is not absence of content. It is that the content that exists has no authority behind it. Rewrite the row.
ECON-05 -- arithmetic is wrong, not just the interpretation
The register calls the 2,481-unit total HARD arithmetic with an INFERRED interpretation. The arithmetic is wrong.
The bundle product's 296 units are not independent stock. Its inventory is derived from its components, which is why its eight variants carry quantities identical to the sticker's eight variants, variant for variant (29/43/49/49/45/42/20/19 in both). Summing all four records double-counts the sticker pool.
| Record | Units | Independent? |
|---|---|---|
| Flagship case, UNLISTED | 942 | Yes |
| Custom Vinyl Sticker, ACTIVE | 296 | Yes |
| Bundle, ACTIVE | 296 | No, derived from the two above |
[Nuuk] duplicate, DRAFT | 947 | Same SKU as the flagship (SHOP-01) |
Distinct on-hand stock is at most 2,185, and the currently-sellable figure is 1,238, not 1,534. Months of cover falls from 219 to 193, and from 135 to 110 on sellable stock. The conclusion (an implausible inventory position) is unaffected, but the numbers must be corrected before anyone quotes "18 years".
SHOP-01's phrase "confirmed distinct stock pools" is right for the flagship versus the DRAFT and wrong for the bundle. Split it.
META-07 -- overstated by half
Re-pulled effective_status on all ads. [Venda] [AN4] is DISAPPROVED with status: ACTIVE: real, and the point that a status list showing only literal status hides it is well made. [Post] [17-06] is WITH_ISSUES but its literal status is PAUSED. A paused ad is not being blocked from delivering; it is not delivering by choice. Drop the second half of the row.
COMP-03, CRO-05, ECON-05 interpretation -- survive as INFERRED
All three are correctly tiered INFERRED and correctly excluded from the top five. No change beyond ECON-05's arithmetic above. COMP-03 in particular is carefully worded in 70-competitive.md and should not be hardened.
Two facts the audit did not find, both material
A 20.8% blended discount rate on paying orders. Re-parsing the export: paying orders carry $2,249.56 of gross line value and $467.22 of discounts, so realised value is $1,782.34 plus $5.96 tax. The discount rate is 20.77%, and on the largest orders it reaches 38.7% and 42.8%. Most of it carries no discount code at all, which means an automatic site-wide discount, which is CRO-01's 25% banner. CRO-01 currently has no dollar figure attached. It now has one. This also means list AOV is $118.40 against a realised AOV of $94.12: there is 25.8% of AOV headroom sitting inside the store's own discounting, which no workstream measured.
Shipping is charged at $0.00 on every order in the export. The merchant absorbs it. 80-unit-economics.md correctly lists shipping cost as UNKNOWN; it is worth stating that the revenue side confirms zero recovery, so real contribution margin sits below every line of the break-even table.
---
4. Attack on the thesis
The thesis: paid acquisition cannot work at this AOV, and the category sells through retail and organic content instead.
4a. The strongest attack: is this just a badly-run account?
This is the attack the audit most needs to survive, because $1,901.47 went to objectives Meta was never bidding to purchase with, $340.17 went to YouTube video that produced 22 clicks and no sales, no ad set is within an order of magnitude of the learning threshold (META-05), the Conversions API is NOT_ONBOARDED with Event Match Quality of 5.2 to 5.3 (TRACK-03), and one active ad is DISAPPROVED (META-07). A competent operator would fix all of it. So: what does CPA look like if only purchase-optimised spend is counted?
Computed.
| Component | Basis | Amount |
|---|---|---|
| Meta, OFFSITE_CONVERSIONS ad sets | 8 ad sets, custom_event_type: PURCHASE | $2,893.46 |
| Meta, MESSAGING_PURCHASE_CONVERSION ad sets | 3 ad sets, produced 2 omni_purchase | $28.31 |
| Meta, purchase-capable subtotal | $4,823.25 lifetime less $1,901.47 | $2,921.78 |
Google, [Pmax] [String protech] | the only purchase-objective Google campaign | $481.61 |
| Google, two YouTube/video campaigns | excluded | ($340.17) |
| Purchase-optimised combined spend | $3,403.39 |
Purchase-optimised cost per order:
| Denominator | Basis | CPA |
|---|---|---|
| 19 paying orders | most generous: credits purchase-optimised spend with every sale in store history, attributed or not | $179.13 |
| 17 paying orders | window-matched, excluding the two orders that predate Meta's ad account | $200.20 |
| 11 | Meta's own 10 attributed purchases from those ad sets, plus Pmax's 1 GA4 transaction | $309.40 |
| 13 | as above on the broader omni_purchase basis (12) plus 1 | $261.80 |
Against break-even:
| Gross margin | Break-even CPA | $179.13 is over by |
|---|---|---|
| 40% | $37.65 | 4.76x |
| 60% | $56.47 | 3.17x |
| 80% | $75.30 | 2.38x |
| 100% (impossible) | $94.12 | 1.90x |
The answer. Yes, the account is badly run, and fixing every identified waste cuts blended CPA from $295.96 to $179.13, a 39.5% improvement. That is a large, real, achievable gain and the audit should say so plainly rather than imply the spend is uniformly worthless.
And it is not close to enough. After removing every dollar this audit can identify as structurally incapable of buying a sale, and crediting what remains with every paying order in the store's history including the organic and direct ones, cost per order is still 1.9x the theoretical ceiling at an impossible 100% margin and 3.2x break-even at a plausible 60%. Closing that needs a further 3.2x on top of removing all identified waste. Account management does not deliver 3.2x on top of a clean-up; good optimisation delivers 1.5x to 2x.
Note also that $179.13 is a floor by construction. GA4 attributes 10 of 20 transactions and $1,022.43 of $1,353.38 to Paid Social, so roughly half the orders in the denominator are not paid at all. On the platforms' own attributed counts the figure is $261.80 to $309.40.
The thesis survives this attack. Its stated magnitude does not. 01-hypothesis.md says the gap is "roughly 10x" and that viability needs "cost per order near $30". Neither number is derived anywhere, and $30 implies a margin the audit explicitly refuses to assume. The defensible range is 1.9x to 3.2x underwater on purchase-optimised spend, and 3.1x to 5.2x blended. Restate it. A client who does the arithmetic and finds 10x unsupported will discount everything else in the document.
4b. Would it work at a higher AOV, through bundling or multi-unit?
No, and the data closes this harder than the audit does.
Multi-unit is already the norm, not an untried lever. Nine of nineteen paying orders (47%) contain two or more cases. The largest orders in the store's history are two orders of three units at $179.97, one on 2026-06-06 and one on 2026-08-05. The audit's framing implies AOV lift is available; the store is already doing it.
The required AOV can be computed exactly. To break even against a purchase-optimised CPA of $179.13:
| At gross margin | Required AOV | Versus current $94.12 | Versus largest order ever ($179.97) |
|---|---|---|---|
| 60% | $298.55 | 3.17x | 1.66x larger than the biggest order ever placed |
| 70% | $255.90 | 2.72x | 1.42x larger |
| 100% (impossible) | $179.13 | 1.90x | $0.84 below the biggest order ever placed |
Read the last row carefully. Even at a fictional 100% gross margin, every single order would have to be as large as the two largest orders in the store's ten-month history. At any real margin the required AOV exceeds the biggest order ever taken by 40% to 66%. Bundling does not close this.
One thing the audit missed that cuts the other way, and should be said. List AOV is $118.40; realised AOV is $94.12; the difference is a 20.8% blended discount that the store applies itself. Stacking every generous assumption available at once (purchase-optimised spend only, credited with all 19 orders, at list AOV, at a 70% margin) gives a break-even of $82.88 against $179.13, still 2.16x underwater. That is the maximally favourable construction and it still fails. Present it that way: it is far more persuasive than the current framing because it shows the client's own best case has been computed and it still does not clear.
4c. Would it work at retail or wholesale margins?
The question is not answered by any of this arithmetic, and the audit should stop implying that it is. Every CPA figure above measures direct-to-consumer paid acquisition. Wholesale has no per-order CAC of that shape; the acquisition cost is a sales relationship amortised over a purchase order, and it trades price for volume. Nothing in this audit measures it, and no figure in the register bears on it.
What the audit does have: The String Sling sells through Guitar Center, Target, and Music & Arts (COMP-05, HARD, verified this pass). That is one competitor with retail distribution, at $34.95 to $55.00. It is evidence that the shelf exists at a price point below String ProTech's. It is not evidence that String ProTech can reach it, and it is not evidence about margins.
Verdict: the DTC-paid conclusion is safe. Any "so go wholesale" recommendation is unevidenced and must be labelled as a hypothesis to test, not a finding.
4d. Would crowdfunding work?
Handle this one with care, because it is the incumbent agency's documented specialism and recommending it without evidence invites the obvious reply.
What the evidence actually shows:
- The one direct-category competitor known to have crowdfunded is G-Suit,
Kickstarter-funded, covered by MusicRadar. Its domain thegsuit.com returns NXDOMAIN on a fresh DNS lookup today. Re-verified this pass.
- A search for crowdfunded guitar string protectors surfaces no other
campaign in this category. Adjacent guitar-accessory categories crowdfund successfully (guitar stands, smart guitars, 3D-printed instruments), so the mechanism is not closed to the category.
Verdict: untested, not recommended and not dismissed. The single in-category precedent got press, got funded, and is now off the internet. 01-hypothesis.md currently lists crowdfunding alongside organic, retail and wholesale as a route, with zero supporting evidence in any of the eight workstreams. Either label it explicitly as an untested hypothesis or remove it.
4e. Is "the category sells through retail and content" established?
No. It is a two-competitor inference and must not be stated as fact.
70-competitive.md identifies four competitors, which is better than the three the brief assumed, but the load-bearing set is smaller than four:
| Competitor | Status this pass | Weight |
|---|---|---|
| The String Sling | site 200 OK; retail at Guitar Center, Target, Music & Arts; two ranking blog posts | Full |
| The Guitar Necktie | site 200 OK; one ranking blog post; no retail distribution found | Full |
| G-Suit | thegsuit.com NXDOMAIN | Historical only |
| String Box | different problem (string-pack storage, not corrosion) | Adjacent, not direct |
So the "sells through retail" half rests on one competitor, and the "sells through content" half on two. The register handles this correctly: COMP-05 (the distribution fact) is HARD, COMP-03 (the category conclusion) is INFERRED, and neither is in the top five. 01-hypothesis.md states it more strongly than the register supports.
---
5. Overturn conditions from 01-hypothesis.md
| # | Condition | Triggered? |
|---|---|---|
| 1 | Someone is contractually accountable for media under an unshared agreement | No. No new evidence either way. META-08 (five named actors in the activity log, none in the current agency list) and GADS-04 (Google Ads account ownership) both remain open and both remain answerable in five minutes by the client |
| 2 | The client runs the ads himself by choice | No. Not testable from any credential this engagement holds. Still the single most important question to ask him |
| 3 | AOV is not the right denominator; LTV changes the picture | No, and it moved further away. Repeat rate falls from 14.3% to 9.5% once a free sample order is excluded; buyers with more than one paying order are 2 of 17 (11.8%); revenue per distinct paying buyer to date is $105.19, against a purchase-optimised CPA of $179.13. LTV does not rescue it. Partially engaged on the other side: list AOV is $118.40, so 25.8% of AOV headroom exists inside the store's own discounting, which the audit never measured. Not enough to overturn (see 4b), but it belongs in the document |
| 4 | Google spend predates May 2026 | Materially closer to triggering, on new evidence. GA4 shows 21 google / cpc sessions in April 2026 against $0.00 reported cost, with no Ads campaign name attached: the signature of gclid traffic arriving before an Ads-to-GA4 link exists. Cannot be distinguished from manual UTM tagging on this access, so it stays UNKNOWN. If confirmed it worsens the picture and raises every CPA figure, exactly as the condition anticipated. GADS-02's "floor, not a total" now has positive evidence behind it rather than only an access-boundary argument. This is now the highest-value five-minute question to put to whoever holds the Google Ads login |
No condition has fired. Condition 4 has moved from theoretical to evidenced-but-unconfirmed, and condition 3 has moved against the counter-argument.
---
6. Merge verification
Checked programmatically against 90-friction-register.md.
| Check | Result |
|---|---|
| Register row count | 57 rows parsed, matching the stated 57. META-02 correctly absent (folded into TRACK-04 per Reconciliation 3) |
| Duplicate ids | None |
| PRIOR-ART flagged rows | Exactly 8, exactly as stated: SHOP-06, SHOP-07, SHOP-08, SHOP-09, SEO-03 (Yes); SHOP-02, CRO-01, CRO-04 (Partial) |
| Any PRIOR-ART row in the top five? | No. All six ids behind the five selections carry prior-art: No in the register and in their originating documents |
| Tier labels on the top five | SEO-01 HARD, SHOP-03 HARD, ECON-02 DERIVED, TRACK-02 DERIVED, META-03 HARD/DERIVED, GEO-01 HARD. All correct against source documents. No INFERRED or UNKNOWN leaked in |
| Prior-art flags match source docs | Verified row by row against 10-shopify.md's PA-1 to PA-16 exclusion list, 40-seo.md, 50-geo-aeo.md. Consistent |
| Header inconsistency | The register's intro says "58 findings" and its totals say 57 rows. Explained in the totals paragraph, but the intro line should be corrected |
| Double-count | SEO-01 and SHOP-03 are the same underlying fact carried as two rows in two different classes (BLOCKS and SUPPRESSES). The top-five selection correctly presents them as one item, but the class counts double-count it |
The merge itself is clean. Every defect found in this pass is in the source workstreams, not in the merge.
---
7. What is safe to put in front of a client, and what is not
Safe as written
- ECON-02. Break-even cost per order tops out at the AOV, $94.12, even at
an impossible 100% margin. Observed blended cost per paying order is $295.96. Re-derived from the source export and three independent spend queries. Correct the repeat-purchase line to $105.19 revenue per distinct paying buyer and 2 of 17 repeat paying buyers.
- TRACK-02, reworded to "GA4 records 14 revenue-bearing transactions and
$1,353.38 against Shopify's 19 paying orders and $1,788.30, a 24.3% revenue undercount", verified at transaction level.
- GEO-01, reworded to "no independent third-party coverage of the brand
was found on any index tested", now confirmed by a second method.
- GADS-03. $340.17 to $341.28 on two YouTube/video campaigns, 22 clicks,
0 transactions. Reproduces on every query shape tried. This is the cleanest waste finding in the register and is a better top-five candidate than the one being withdrawn.
- META-04. Four remarketing ad sets on overlapping windows of the same
audience, lifetime frequency 17.79 on the narrowest, corroborated by Meta's own Opportunity Score.
- The purchase-optimised CPA of $179.13 and the required-AOV table in
section 4. Both are new, both are defensible, and both are more persuasive than anything currently in the top five because they compute the client's own best case and show it still fails.
Not safe
- SEO-01 / SHOP-03 as a defect claim. Withdraw. The UNLISTED status is
the platform vendor's documented configuration for a bundle component, and that is what this product is. Replace with the three narrower facts in section 1.
- META-03 as currently worded. "Money that was never able to buy a sale"
is contradicted by Meta's own API. Reword to the outcome: $1,901.47 for one purchase, 0.032 ROAS.
- SEO-07 as currently worded. Two blog posts exist, one problem-aware.
Rewrite to "content exists and does not rank".
- ECON-05's 2,481-unit total. Double-counts the bundle's derived
inventory. Use 1,238 sellable and at most 2,185 total.
- META-07's second half.
[Post] [17-06]is paused. - Any bare Meta spend figure. Insights moved $2.20 in hours while
amount_spent sat still. Publish a range or an as-at timestamp, never a single number.
- Any Google Ads lifetime total. It is a floor, and there is now positive
evidence of paid Google traffic in a month reporting $0.00 cost.
- "Roughly 10x underwater" and "$30 target CPA." Neither is derived.
Use 1.9x to 3.2x on purchase-optimised spend, 3.1x to 5.2x blended.
- "The category sells through retail and content." One competitor with
retail distribution, two with ranking content. State it as an inference from a two-competitor sample or not at all.
- Crowdfunding as a recommended route. No evidence in any workstream, and
the only in-category precedent is a dead domain.
The one sentence that should change in the pitch
The audit's commercial position is that the client should buy a diagnostic answering whether this product can be acquired profitably at all. That position is stronger after this pass, not weaker, because the answer now has a number attached: strip every dollar of identifiable waste from both platforms and cost per order is $179.13, against a break-even that cannot exceed $94.12 at any margin and sits near $56 at a realistic one. That is the finding. It does not depend on the withdrawn claim, it does not depend on knowing the client's unit cost, and it survives the best counter-argument available to the incumbent.