App Supply Index Monitor my app
iOS · Ultimate Guitar

Ultimate Guitar: Chords & Tabs

Developer URL
https://www.ultimate-guitar.com/
app-ads.txt
https://www.ultimate-guitar.com/app-ads.txt · 200
Checked
Oct 7, 2026
B
79/100

601 lines · 411 verified against sellers.json

Findings

Each finding lists the exact lines involved. Findings are automated observations of public files as of Oct 7, 2026. They describe file contents, not the intent or conduct of any company.

warning

Seller IDs not listed in the ad system's sellers.json

45 −9 pts

The ad system's current sellers.json doesn't list these accounts, so buyers that validate the chain can't match them. Common causes are closed accounts or former partners.

How to fixAsk each partner whether the account is still active and request their current lines; remove lines for closed accounts.
Evidence (25 of 45)
line 24     gumgum.com, 14259, DIRECT, ffdef49475d318a9
             → sellers_json: https://gumgum.com/sellers.json
line 28     revcontent.com, 110029, DIRECT
             → sellers_json: https://revcontent.com/sellers.json
line 31     aps.amazon.com, 27c0bff0-c550-4f44-bc50-b29c933290cb, DIRECT
             → sellers_json: https://aps.amazon.com/sellers.json
line 36     risecodes.com, 63832beef8189a00015cb6d3, RESELLER
             → sellers_json: https://risecodes.com/sellers.json
line 44     connectad.io, 455, RESELLER, 85ac85a30c93b3e5
             → sellers_json: https://connectad.io/sellers.json
line 48     connectad.io, 455, RESELLER, 85ac85a30c93b3e5
             → sellers_json: https://connectad.io/sellers.json
line 55     opera.com, pub12058951686464, RESELLER, 55a0c5fd61378de3
             → sellers_json: https://opera.com/sellers.json
line 63     improvedigital.com, 2050, RESELLER
             → sellers_json: https://improvedigital.com/sellers.json
line 75     start.io, uam, RESELLER
             → sellers_json: https://start.io/sellers.json
line 77     smaato.com, 1100049169, DIRECT, 07bcf65f187117b4
             → sellers_json: https://smaato.com/sellers.json
line 100    applovin.com, 0459f864f0fa0f36807f39d6cdaf1d62, DIRECT
             → sellers_json: https://applovin.com/sellers.json
line 121    Media.net, 8CU3BYI96, DIRECT
             → sellers_json: https://media.net/sellers.json
line 173    ucfunnel.com, par-E2B2BB3E89BE87A2F774B768BEED62A2, RESELLER
             → sellers_json: https://ucfunnel.com/sellers.json
line 183    improvedigital.com, 1623, RESELLER
             → sellers_json: https://improvedigital.com/sellers.json
line 188    sonobi.com, cc3858f35e, RESELLER, d1a215d9eb5aee9e
             → sellers_json: https://sonobi.com/sellers.json
line 193    onetag.com, 59aa7be4921bac8, RESELLER
             → sellers_json: https://onetag.com/sellers.json
line 253    smartadserver.com, 4071, RESELLER
             → sellers_json: https://smartadserver.com/sellers.json
line 255    sonobi.com, 48b6f6efb4, RESELLER, d1a215d9eb5aee9e
             → sellers_json: https://sonobi.com/sellers.json
line 256    triplelift.com, 11608-EB, RESELLER, 6c33edb13117fd86
             → sellers_json: https://triplelift.com/sellers.json
line 336    smartadserver.com, 4071, RESELLER
             → sellers_json: https://smartadserver.com/sellers.json
line 338    xandr.com, 13171, RESELLER
             → sellers_json: https://xandr.com/sellers.json
line 344    smaato.com, 1100059984, RESELLER, 07bcf65f187117b4
             → sellers_json: https://smaato.com/sellers.json
line 353    improvedigital.com, 2821, RESELLER
             → sellers_json: https://improvedigital.com/sellers.json
line 395    video.unrulymedia.com, 1352466146, RESELLER
             → sellers_json: https://video.unrulymedia.com/sellers.json
line 397    risecodes.com, 6486c6155b231000010244b0, RESELLER
             → sellers_json: https://risecodes.com/sellers.json
warning

DIRECT lines inconsistent with public data

13 −6 pts

The ads.txt specification defines DIRECT as an account the publisher directly controls. For these lines, either the ad system's own sellers.json lists the account as INTERMEDIARY, or the same account is marked DIRECT in the files of 3 or more unrelated companies. Either way, the public data does not support the DIRECT label. Buyers that use DIRECT labels in supply-path decisions may treat these lines differently.

How to fixUse DIRECT only for accounts your company controls. Confirm with each partner whether the account is yours; if it isn't, the specification calls for RESELLER.
Evidence (13)
line 119    themediagrid.com, N71MIF, DIRECT, 35d5010d7789b49d
             → observed: sellers.json lists the account as INTERMEDIARY; the same account is marked DIRECT by 5 different companies  name in sellers.json: WUNDERKIND CORPORATION  domain in sellers.json: wunderkind.co
line 121    Media.net, 8CU3BYI96, DIRECT
             → observed: the same account is marked DIRECT by 3 different companies
line 126    criteo.com, B-068503, DIRECT, 9fac4a4a87c2a44f
             → observed: the same account is marked DIRECT by 5 different companies
line 285    aps.amazon.com, 48266a61-b3d9-4cb7-b172-553abc6a42a4, DIRECT
             → observed: the same account is marked DIRECT by 11 different companies  name in sellers.json: Online Media Solutions Ltd  domain in sellers.json: onlinemediasolutions.com
line 324    the-ozone-project.com, OZONEPRS0001, DIRECT
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: M.D. PRIMIS TECHNOLOGIES LTD  domain in sellers.json: primis.tech
line 334    pmc.com, 1240739, DIRECT, 8dd52f825890bb44
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: M.D. PRIMIS TECHNOLOGIES LTD  domain in sellers.json: primis.tech
line 362    pubmatic.com,  157158, DIRECT, 5d62403b186f2ace
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Generation Premium (UltimateGuitar.com) (via EB)  domain in sellers.json: google.com
line 365    pubmatic.com, 157158, DIRECT, 5d62403b186f2ace
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Generation Premium (UltimateGuitar.com) (via EB)  domain in sellers.json: google.com
line 440    rubiconproject.com, 18734, DIRECT, 0bfd66d529a55807
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Google  domain in sellers.json: google.com
line 441    rubiconproject.com	, 18734, DIRECT, 0bfd66d529a55807
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Google  domain in sellers.json: google.com
line 526    sharethrough.com, 3ce61b33, DIRECT, d53b998a7bd4ecd2
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: Ultimate Guitar - OB  domain in sellers.json: google.com
line 531    smaato.com, 1100004890, DIRECT, 07bcf65f187117b4
             → observed: the same account is marked DIRECT by 165 different companies  name in sellers.json: Smaato Managed  domain in sellers.json: smaato.com
line 533    smaato.com, 1100040865, DIRECT, 07bcf65f187117b4
             → observed: sellers.json lists the account as INTERMEDIARY  name in sellers.json: EB DFP - Grand Play Media   domain in sellers.json: google.com
warning

Lines for ad system domains that don't resolve

6 −1 pts

These ad system domains don't resolve (the domain may be retired, merged or misspelled). The lines can't be validated, and if the domain is registered again, its new holder would appear authorized.

How to fixRemove these lines. If the domain is registered again, its new holder would appear authorized by your file.
Evidence (6)
line 32     districtm.io, 100962, RESELLER, 3fd707be9c4527c3
             → ad_system: districtm.io
line 451    spotxchange.com, 84294, RESELLER, 7842df1d2fe2db34
             → ad_system: spotxchange.com
line 488    spotxchange.com, 219914, RESELLER, 7842df1d2fe2db34
             → ad_system: spotxchange.com
line 496    spotxchange.com, 246977, RESELLER, 7842df1d2fe2db34
             → ad_system: spotxchange.com
line 501    spotxchange.com, 220321, RESELLER, 7842df1d2fe2db34
             → ad_system: spotxchange.com
line 543    spotxchange.com, 266250, DIRECT, 7842df1d2fe2db34
             → ad_system: spotxchange.com
warning

Malformed lines

1 −1 pts

Lines that buyers' crawlers will ignore.

How to fixFix the format: <ad system domain>, <seller id>, DIRECT|RESELLER[, <cert authority id>].
Evidence (1)
line 124    indexexchange.com, , RESELLER
             → reason: empty seller id
info

Duplicate lines

48 −2 pts

Harmless but a sign of copy-paste maintenance.

How to fixRemove duplicates; keep one copy of each line.
Evidence (25 of 48)
ad_system: indexexchange.com  seller_id: 184738  relationship: RESELLER
ad_system: smartadserver.com  seller_id: 3232  relationship: RESELLER
ad_system: openx.com  seller_id: 556669983  relationship: DIRECT
ad_system: appnexus.com  seller_id: 2139  relationship: DIRECT
ad_system: sharethrough.com  seller_id: 7144eb80  relationship: RESELLER
ad_system: smartadserver.com  seller_id: 4125  relationship: RESELLER
ad_system: uis.mobfox.com  seller_id: 93308  relationship: RESELLER
ad_system: imds.tv  seller_id: am1601  relationship: RESELLER
ad_system: start.io  seller_id: 123111883  relationship: RESELLER
ad_system: connectad.io  seller_id: 455  relationship: RESELLER
ad_system: onlinemediasolutions.com  seller_id: 21020  relationship: RESELLER
ad_system: supply.colossusssp.com  seller_id: 836  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 18020  relationship: RESELLER
ad_system: yahoo.com  seller_id: 55029  relationship: RESELLER
ad_system: behave.com  seller_id: 1106  relationship: DIRECT
ad_system: inmobi.com  seller_id: 099560e4e0d04c07a26b1da95f519e9b  relationship: RESELLER
ad_system: inmobi.com  seller_id: eb599497e3d345d19364cc841f39de31  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 12266  relationship: RESELLER
ad_system: pubmatic.com  seller_id: 156517  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 11726  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 19744  relationship: RESELLER
ad_system: rubiconproject.com  seller_id: 15278  relationship: RESELLER
ad_system: smartadserver.com  seller_id: 4071  relationship: RESELLER
ad_system: grandplaymedia.com  seller_id: 1  relationship: DIRECT
ad_system: appnexus.com  seller_id: 9979  relationship: RESELLER
info

DIRECT accounts registered to another domain

10 −2 pts

Allowed when the domain belongs to the same company; add OWNERDOMAIN to make that explicit. Otherwise these accounts may belong to someone else.

How to fixIf the account is yours under another domain, declare it with OWNERDOMAIN=<that domain>; otherwise mark it RESELLER.
Evidence (10)
line 57     onetag.com, 76de395880b7308, DIRECT
             → domain in sellers.json: grand play media llc  name in sellers.json: Grand Play Media LLC
line 106    blockthrough.com, 5651113476882432, DIRECT
             → domain in sellers.json: ultimateguitar.com  name in sellers.json: Grand Play Media
line 120    admanmedia.com, 1061, DIRECT
             → domain in sellers.json: wunderkind.co  name in sellers.json: Wunderkind
line 315    the-ozone-project.com, OZONEMUS0001, DIRECT
             → domain in sellers.json: mu.se  name in sellers.json: Muse Hub
line 363    pubmatic.com, 159242, DIRECT, 5d62403b186f2ace
             → domain in sellers.json: generationpremium.com  name in sellers.json: Generation Premium INC
line 368    pubmatic.com, 158767, DIRECT, 5d62403b186f2ace
             → domain in sellers.json: generationpremium.com  name in sellers.json: Generation Premium INC
line 506    sharethrough.com, 7yas3KI6, DIRECT, d53b998a7bd4ecd2
             → domain in sellers.json: ultimate-guitar  name in sellers.json: Ultimate Guitar
line 521    sharethrough.com, gxx4Ttbr, DIRECT, d53b998a7bd4ecd2
             → domain in sellers.json: musescore.com  name in sellers.json: Grand Play Media (Ultimate Guitar) - TAM & Prebid Client Side
line 522    smartadserver.com, 5116, DIRECT, 060d053dcf45cbf3
             → domain in sellers.json: musescore.com  name in sellers.json: Grand Play Media STR
line 523    sharethrough.com, 5116, DIRECT, d53b998a7bd4ecd2
             → domain in sellers.json: musescore.com  name in sellers.json: Grand Play Media STR
info

Ad systems without a public sellers.json

109

The ad system doesn't publish a readable sellers.json, so nobody can verify these lines. That's the ad system's gap, not the app's, so no points are deducted.

How to fixAsk the partner to publish sellers.json; until then buyers can't verify that path.
Evidence (25 of 109)
line 7      openx.com, 538959099, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403
line 8      openx.com, 544096208, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403
line 9      openx.com, 540709535, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403
line 13     loopme.com, 11227, RESELLER, 6c8d5f95897a5a3b
             → sellers_json: HTTP 403
line 15     appnexus.com, 9569, RESELLER
             → sellers_json: HTTP 403
line 18     appnexus.com, 10824, RESELLER
             → sellers_json: HTTP 403
line 20     rhythmone.com, 3341072718, RESELLER, a670c89d4a324e47
             → sellers_json: HTTP 403
line 23     openx.com, 556669983, DIRECT, 6a698e2ec38604c6
             → sellers_json: HTTP 403
line 25     appnexus.com, 1001, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 26     appnexus.com, 2758, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 29     appnexus.com, 2139, DIRECT, f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 30     coxmt.com, 2000068024302, RESELLER
             → sellers_json: HTML or login page instead of JSON
line 34     rhythmone.com, 1654642120, RESELLER, a670c89d4a324e47
             → sellers_json: HTTP 403
line 40     adcolony.com, 44ef7fd4adebf701, RESELLER, 1ad675c9de6b5176
             → sellers_json: HTML or login page instead of JSON
line 68     loopme.com, 11487, DIRECT, 6c8d5f95897a5a3b
             → sellers_json: HTTP 403
line 73     appnexus.com, 1908, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 81     openx.com, 540191398, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403
line 83     appnexus.com, 3663, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 84     sovrn.com, 375328, RESELLER, fafdf38b16bf6b2b
             → sellers_json: HTTP 403
line 86     appnexus.com, 1356, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 101    adcolony.com, 5d8cbf6671c93a42, RESELLER, 1ad675c9de6b5176
             → sellers_json: HTML or login page instead of JSON
line 103    openx.com, 540785403, RESELLER, 6a698e2ec38604c6
             → sellers_json: HTTP 403
line 115    appnexus.com, 11924, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 116    appnexus.com, 3153, RESELLER, f5ab79cb980f11d1
             → sellers_json: HTTP 403
line 126    criteo.com, B-068503, DIRECT, 9fac4a4a87c2a44f
             → sellers_json: HTTP 403

Is this your app?

Get the full evidence list, a cleaned app-ads.txt, and alerts when partners' accounts change. Think something here is wrong? Request a correction.

Monitor this app