DisclosedConsumer transparency infrastructure · US & Canada

Report card

tomsguide.com

Insufficient data

Generated 2026-09-17 under SPEC: Scoring — v0.6.12. State: Not scored — below the article threshold.

Do they get paid?

58.5%

Monetization exposure across 10 articles. A fact, never scored.

Do they tell you?

0.250

Article-weighted disclosure deficiency, A = 0 through F = 1. Lower means the disclosure appears earlier relative to the first link.

Does the pay change the picks?

not published

Fewer qualifying articles than SPEC §2.2 requires.

Monetization exposure — what was observed

Ranked picks examined
124
Picks with a link established as affiliate
66
— of which badged (confirmed or likely)
66
— of which runtime-attributed only, never badged
0
Picks whose status was not established
58
Observation coverage
53.2%

A pick whose status was not established is counted apart from a pick observed to be unmonetized. Each reason is published on its own, because they are different situations and one of them is about us rather than about the publisher:

Reason the status was not establishedPicks
cloaked unresolved0
declared sponsored unverified1
no observed link57
external destination unclassified0

Marked sponsored by the publisher — what was observed on those links

Direct merchant links so marked
6
Ranked picks they appear on
3
Carrying a real runtime attribution subtag
0
Carrying the literal "undefined" — the publisher’s code found no program
0

6 direct merchant link(s) across 3 ranked pick(s) carry this publisher’s own rel="sponsored" and point at a registrable domain that is not the publisher’s. NONE OF THEM IS BADGED, whatever follows: rel="sponsored" is the attribute the HTML specification defines for paid placement of any kind, including placement that pays no commission, so it establishes that the publisher marked the placement as paid and establishes nothing about a commission. What was observed ON those links, counted apart rather than summarised as an absence: 0 carry a real attribution subtag that this publisher’s OWN client code wrote onto the anchor while the page ran in our browser. SPEC §0.1.0 counts those as monetized (m_i = 1) and still does not badge them, because a signal derived from executed JavaScript is weaker provenance than served markup: it is admitted to a corpus statistic we publish with its inputs, and refused to an assertion made to a reader about one link. 0 carry that same attribute with the literal value "undefined" — the publisher’s own code reporting that it recognised NO affiliate program for that destination. Those are m_i = 0 on the publisher’s own signal rather than on our failure to find one. 6 carry no such attribute at all. Absence is not a statement: those are m_i = 0 because nothing was observed either way, and that is the only one of these three counts about which we are saying we did not detect a mechanism.

Declared, not observed

Picks priced from a declared merchant
0
Declared merchants that resolve to no rate card
0
Hosts involved
none

No pick on this publisher is priced from a merchant declared in the link.

Payout–Rank correlation

No correlation is published for this publisher

Not scored — below the article threshold

A qualifying article is one with enough priced picks, enough rated picks, and enough rate coverage for a per-article correlation to exist. This publisher has some, but fewer than the threshold. The count is shown below with the reason each article was excluded. Nothing about the correlation is shown, because the threshold is what decides whether it may be shown at all.

The card records Insufficient data as the headline it would print, and prints no median, no interval and no Kickback Score. The inputs below are published anyway, so the same computation can be run against them.

Disclosure

GradeArticlesShare
A00.0%
B10100.0%
C00.0%
D00.0%
F00.0%

§1.5 is purely positional. The A/B boundary here is measured against the first OUTBOUND link, which is at or before the first AFFILIATE link, so this test is stricter than §1.5 and can only understate a grade, never overstate one.

Diagnostics published beside the figures

Gaming flag count
0
Band-sensitive articles
2
Picks priced from a rate band
8
Picks linking more than one merchant
18

Count of qualifying articles with ρ > 0.99 at n ≤ 5.

Sole-Paid-Pick Placement

Articles with exactly one paid pick
1
Of those, paid pick observed at rank 1
0
Expected at rank 1 by chance
0.0714
z
-0.2774
p
1.0000
SPP₁
0.0000
p-value method
exact_poisson_binomial
Published on the card
no

Not published: §1.6 requires |A₁| ≥ 20 and this publisher has 1.

Articles excluded from the pool, by reason

Exclusion reasonArticles
fewer than 2 priced picks2
fewer than 4 rated picks0
rate coverage undefined1
rate coverage below threshold5
rho undefined0

Reasons may co-occur on the same article, so these counts do not sum to a total.

Right of reply

State: silent. We wrote to this publisher and the seven-day window closed without a reply. Not replying is not agreement with anything on this card, and we do not present it as one.

Written to legal@futurenet.com on 2026-09-10T00:17:45Z. Basis for that address: the address Tom's Guide's own About page publishes for editorial-standards matters, with IPSO named as the escalation route. A better basis than the masthead address it replaces: the publisher designates it for exactly this correspondence. Seven-day window closes 2026-09-17T00:17:45.000Z.

Nothing has been received from this publisher.

Confounds, stated by us, first

  1. Reverse causality. A publisher may negotiate a higher rate because it already ranks a product well. The §5 event study partially addresses this by measuring ranking changes after rate changes. It does not eliminate it.
  2. Category confounding. High-commission categories may differ in quality.
  3. Brand-size confounding. Products with affiliate programs skew toward larger brands, which may be better on average.
  4. Rate coverage. We observe roughly half the market. The rate coverage figure on this card is the measured share for this publisher.
  5. Editorial firewalls are real. Where the median ρ is at or below zero, that is stated on this card in the same size type as every other number.
  6. Private-network rate invisibility. Merchants on Impact, CJ, Rakuten and Partnerize keep rates private, so their picks carry r = null and are dropped from ρ. Those are systematically different merchants from Amazon’s — large retailers rather than marketplace sellers. The sign of the resulting bias is indeterminate.
  7. Per-transaction earnings caps and negotiated tiers mean a published nominal rate is an upper-bound proxy for effective compensation. eBay’s published rate card carries a per-transaction cap on every category (550 USD on Electronics, 100 USD on eBay Motors and on Real Estate) and states that exceptions to the rate card exist for certain partners. Roborock publishes 4%–7% and Narwal 4%–10%, and where a given publisher’s tier falls within either band is negotiated privately. On a high-priced item a per-transaction cap can put the amount actually earned, expressed as a percentage of price, below the published rate. This is a disclosure: it moves no estimator and no r_i.

Recompute this

Every input this card was computed from. A third party who cannot recompute a figure from what is published here should treat the figure as unsupported, and we would rather they did.

publisher
tomsguide.com
spec version
SPEC: Scoring — v0.6.12
generated at
2026-09-17T21:55:39.581Z
card status
insufficient_data
corpus dir
data/corpus
rates dir
data/rates
articles with picks
10
qualifying articles
4
anti recommendation excluded
none
article ids
10 entries
1eea0d85c23f5e255aac74d3fd6dacdcc2c40db980213d4aa5a79d3fb6dc3499
1fefd1326ad53c371d672ca6e712f7c0e15de009c115c13fc0c08ec8373db5f9
3d875075dfe21205eaead650abc0e4f49ec9c58ef203cd3669cfaeedc352a9c7
71df9aa554f3589fcd5e92d66a6a70e8696f454867de440861c1d1cfadb23104
831182a7716f6e7067784097209924fbef017ad8bc795aba31322c928cd753bb
c4bf1beb91ab895afcb3bf96a5bc9d74c5cacb34fd5fb5073ea852886bedf268
cd97c724c6f860ce9af593828ab1e48bfbc8823ddc564d3ed21ff11020750bdc
d873278a5c64d1a0637a082d3bac2be0e9f5ab4c07d74806fdac5b752f0cdb1b
dadea7512f411d5264b5212a44a84cb293ec76d88194e9719c932213573d9434
e7e25ee21ad20eb4bbdec53942f7509930e6b087d44c3e9d399c1a2fc84c02f2
merchant hosts observed
54 entries
acatoday.org
amazon.ca
amazon.com
amerisleep.com
ascentchiropractic.com
ashleyfurniture.com
au.northday.com
autonomous.ai
avocadogreenmattress.com
awarasleep.com
bearmattress.com
bestbuy.ca
bose.com
branchfurniture.com
brooklynbedding.com
cb2.com
checkout.upliftdesk.com
cocoonbysealy.com
dreamcloudsleep.com
drgrunch.com
egohome.com
electronics.sony.com
flexispot.com
hearfitworld.com
helixsleep.com
ikea.com
leesa.com
linkedin.com
mattressfirm.com
mpnutrition.com.au
naturepedic.com
nectarsleep.com
newegg.ca
nolahsleep.com
oakywood.shop
ozlosleep.com
plankmattress.com
plushbeds.com
prf.hn
progressivedesk.com
puffy.com
purple.com
raymourflanigan.com
shareasale.com
shop.fourseasons.com
sienasleep.com
stearnsandfoster.com
tempurpedic.com
thejoint.com
track.webgains.com
vari.com
walmart.ca
winkbeds.com
zinus.com
verticals matched
earbuds, headphones, lightweight jackets, mattresses, standing desks
amazon rate sources
US
file
data/rates/amazon-us.json
source url
https://affiliate-program.amazon.com/help/node/topic/GRXPHT8U84RAYDXZ
fetched at
2026-09-05T21:56:26.934Z
table sha256
ea97cd4fc12108d018958e8ee57941109c803dd0203bbd4f4715069c0b21408d
default rate
0.04
CA
file
data/rates/amazon-ca.json
source url
https://associates.amazon.ca/help/node/topic/GRXPHT8U84RAYDXZ
fetched at
2026-09-05T21:56:32.508Z
table sha256
6876ec738879654e535a0340d81268aacc55e2b938d08c96416b8c856eda55ba
default rate
0.02
merchant rate card
data/rates/merchants.json
snapshot index
data/corpus/snapshots.jsonl
inclusion criteria
min priced picks k
2
min rated picks n
4
min rate coverage C
0.6
min qualifying articles
20
kickback weights
R
0.75
O
0.25
version
3.0.0
disclosure deficiency scale
A
0
B
0.25
C
0.5
D
0.75
F
1
bootstrap resamples
2000
quantile method
type-7 (linear interpolation; the R and NumPy default)
ci percentile convention
lower bound at floor(0.025 * B), upper bound at ceil(0.975 * B) - 1 (positions 50 and 1949 at B = 2000)

All publishers · Methodology