app-ads.txt: How to Make It and Why You Need It
Last year, the ad tech industry struck back at one of its most elusive problems — widespread domain spoofing that let unauthorized developers sell premium inventory they didn’t actually have. The solution? Over two million developers adopted ads.txt — a simple-text public record of Authorized Digital Sellers for a particular publisher’s inventory — to make sure they didn’t lose money from DSPs and programmatic buyers who avoid noncompliant publishers. Thanks to buyers’ ability to crawl ads.txt and verify seller authenticity, this has quickly become a standard for protecting brands. Ad fraud reduced by 11% in 2019 due to these efforts and publisher’s ability to implement more fraud prevention techniques.
The time has come for ads.text to evolve in-app. The introduction of apps-ads.txt is an important method for mobile app devs to similarly eliminate fraud and improve transparency.
What is app-ads.txt?
Like ads.txt, apps-ads.txt is a text file that app devs upload to their publisher website. It lists all ad sources authorized to sell that publisher’s inventory. The IAB created a system that allows buyers to distinguish the authorized sellers for specific in-app inventory, weeding out the undesirables.
How does app-ads.txt work for your apps?
A DSP wanting to bid on an app’s inventory crawls the app-ads.txt file on a developer’s website to verify which ad sources are authorized to sell that app’s inventory. The DSP will only accept bid requests from ad sources listed on the file and authorized by the app developer.
How does app-ads.txt help app developers capture more ad revenue?
Authorized in-app inventory. An ever-increasing amount of brands are looking to advertise in-app today. Brand buyers now rely on an adherence to app-ads.txt to make sure they don’t buy unauthorized inventory from app developers and negatively impact campaign performance. Developers who don’t implement app-ads.txt can be removed from any brand buyer’s target media list. That’s why joining the app-ads.txt movement is crucial for publishers to maintain their revenue.
Ad fraud prevention. App-ads.txt blocks unauthorized developers who impersonate legitimate apps and mislead DSPs into spending brand budgets on fake inventory. With fraud instances minimized, authentic developers can retain more of the ad revenue from inventory genuinely targeted to their app.
How do I create an app-ads.txt?
**You must list your Developer Website URL in the GooglePlay and iTunes app stores. There must be a valid developer website URL in all app stores hosting your apps.**
Step 1: Provide the publisher website URL in your app store listing
Make sure that your publisher website URL (not app specific URL) is added in your app store listings, particularly the 'developer website' or 'app support' links on your App and Play Store pages. Advertising platforms will use this URL to verify the app-ads.txt file by visiting your host domain and then appending '/app-ads.txt' to reach the subdomain where your app-ads.txt should live, e.g. 'http://www.vungle.com/app-ads.txt.' There should be a consistent host domain across all your app store fronts. Also, double-check that your ad network (e.g. Vungle) account in Vungle's publisher UI has the correct app store URLs entered for your apps.
Step 2: Reach out to all ad sources (direct, resellers, etc.)
Get in touch with your direct ad sources and ask for their app-ads.txt line — according to the IAB’s structure below:
Ad source domain, your publisher account ID, type of relationship (direct or reseller), TAG cert ID
Example: vungle.com, 1234, DIRECT, 5678
If your partners are using third-party resellers to sell your inventory, they should be listed as “reseller.”
Example: vungle.com, 1234, RESELLER, 6789
(You shouldn’t add any provider to your app-ads.txt file unless you or your partner have a direct relationship with them.)
We have made it easier for you to include Vungle’s list of entries so that don’t have to construct it on your own. Please copy and paste the following text block [Only the Entries table] and include in your txt file along with entries you may have from your other monetization partners:
PS: Remember to replace [yourVunglePublisherAccountID] with your Vungle Account ID, which can be found in your Vungle account management dashboard.
Date Updated
|
Entries
|
10th Oct 2020
|
vungle.com, [yourVunglePublisherAccountID], DIRECT, c107d686becd2d77 |
adcolony.com, 1efc6603710003ea, RESELLER, 1ad675c9de6b5176
|
|
adcolony.com, 801e49d1be83b5f9, RESELLER, 1ad675c9de6b5176
|
|
adcolony.com, 81685aa581edd381, RESELLER, 1ad675c9de6b5176
|
|
adcolony.com, f858ba060bce51ad, RESELLER, 1ad675c9de6b5176
|
|
admanmedia.com, 594, RESELLER
|
|
admixer.com, 8676470, RESELLER
|
|
admixer.net, 2878f07c-cc3f-4f8a-a26c-8e6033a539a6, RESELLER
|
|
admixer.net, 3d2ed9f3-1ce6-436c-896b-4d9c8418ad3f, RESELLER
|
|
admixer.net, 8e380da6-31ba-488c-939c-290c48d577e4, RESELLER
|
|
adtiming.com, a-126, RESELLER, bf66753b8f380142
|
|
advertising.com, 25990, RESELLER
|
|
advertising.com, 28246, RESELLER
|
|
adwmg.com, 8676470, RESELLER
|
|
algorix.co, 54250, RESELLER
|
|
appnexus.com, 10128, RESELLER, f5ab79cb980f11d1
|
|
appnexus.com, 11452, RESELLER
|
|
appnexus.com, 3368, RESELLER
|
|
appnexus.com, 8178, RESELLER, f5ab79cb980f11d1
|
|
appnexus.com, 8217, RESELLER, f5ab79cb980f11d1
|
|
aralego.com, par-8A2A4A443B29BB92F9622D3A67346AB, RESELLER
|
|
aralego.com, par-D232D76A227923DA1D28D94AA9699AE8, RESELLER
|
|
axonix.com, 57869, RESELLER
|
|
betweendigital.com, 43092, RESELLER
|
|
bidmachine.io, 55, RESELLER
|
|
bidmachine.io, 59, RESELLER
|
|
cmcm.com, 127, RESELLER
|
|
cmcm.com, 271, RESELLER
|
|
cmcm.com,105, RESELLER
|
|
contextweb.com, 561849, RESELLER, 89ff185a4c4e857c
|
|
contextweb.com, 561884, RESELLER, 89ff185a4c4e857c
|
|
contextweb.com, 561913, RESELLER, 89ff185a4c4e857c
|
|
EMXDGT.com, 1324, RESELLER, 1e1d41537f7cad7f
|
|
engagebdr.com, 10181, RESELLER
|
|
engagebdr.com, 10252, RESELLER
|
|
engagebdr.com, 16, RESELLER
|
|
engagebdr.com, 7, RESELLER
|
|
engagebdr.com, 84, RESELLER
|
|
improvedigital.com, 1366, RESELLER
|
|
improvedigital.com, 1532, RESELLER
|
|
indexexchange.com, 185774, RESELLER, 50b1c356f2c5c8fc
|
|
indexexchange.com, 191332, RESELLER, 50b1c356f2c5c8fc
|
|
inmobi.com, 22e5354e453f49348325184e25464adb, RESELLER, 83e75a7ae333ca9d
|
|
inmobi.com, c1e6d3502da64ebaa3ad0e4a4be15f11, RESELLER, 83e75a7ae333ca9d
|
|
inmobi.com, f3924290136e4129a5c082ff982c3a58, RESELLER, 83e75a7ae333ca9d
|
|
lijit.com, 273644, RESELLER
|
|
Limpid.tv,203581,RESELLER
|
|
loopme.com, 10999, RESELLER, 6c8d5f95897a5a3b
|
|
loopme.com, 11278, RESELLER
|
|
loopme.com, 11296, RESELLER, 6c8d5f95897a5a3b
|
|
meitu.com, 149, RESELLER
|
|
meitu.com, 179, RESELLER
|
|
meitu.com, 253, RESELLER
|
|
onetag.com, 59aa7be4921bac8, RESELLER
|
|
onetag.com, 59d216e971852f2, RESELLER
|
|
onetag.com, 5a02ff98ba6be67, RESELLER
|
|
onetag.com, 5d1628750185ace, RESELLER
|
|
openx.com, 537152826, RESELLER, 6a698e2ec38604c6
|
|
openx.com, 539472296, RESELLER, 6a698e2ec38604c6
|
|
openx.com, 540011801, RESELLER, 6a698e2ec38604c6
|
|
openx.com, 540280728, RESELLER, 6a698e2ec38604c6
|
|
openx.com, 540298543, RESELLER
|
|
openx.com, 540298543, RESELLER, 6a698e2ec38604c6
|
|
openx.com, 540543195, RESELLER, 6a698e2ec38604c6
|
|
openx.com, 540679900, RESELLER, 6a698e2ec38604c6
|
|
openx.com, 541177349, RESELLER
|
|
pubmatic.com, 155975, RESELLER, 5d62403b186f2ace
|
|
pubmatic.com, 156517, RESELLER, 5d62403b186f2ace
|
|
pubmatic.com, 157654, RESELLER, 5d62403b186f2ace
|
|
pubmatic.com, 158060, RESELLER, 5d62403b186f2ace
|
|
pubmatic.com, 158154, RESELLER
|
|
pubmatic.com, 158154, RESELLER, 5d62403b186f2ace
|
|
pubmatic.com, 159542, RESELLER
|
|
pubmatic.com, 159668, RESELLER
|
|
pubmatic.com, 159846, RESELLER, 5d62403b186f2ace
|
|
pubmatic.com, 8676470, RESELLER
|
|
pubnative.net, 1006458, RESELLER, d641df8625486a7b
|
|
pubnative.net, 1007302, RESELLER, d641df8625486a7b
|
|
rhythmone.com, 3880497124, RESELLER
|
|
rhythmone.com, 4173858586, RESELLER, a670c89d4a324e47
|
|
rubiconproject.com, 13626, RESELLER, 0bfd66d529a55807
|
|
rubiconproject.com, 15278, RESELLER, 0bfd66d529a55807
|
|
rubiconproject.com, 17328, RESELLER, 0bfd66d529a55807
|
|
rubiconproject.com, 19724, RESELLER
|
|
rubiconproject.com, 20744, RESELLER
|
|
rubiconproject.com, 20744, RESELLER, 0bfd66d529a55807
|
|
sabio.us, 100032, RESELLER, 96ed93aaa9795702
|
|
silvermob.com,320,RESELLER
|
|
sonobi.com, eaec54c63f, RESELLER, d1a215d9eb5aee9e
|
|
sovrn.com, 273644, RESELLER
|
|
spotx.tv, 234183, RESELLER, 7842df1d2fe2db34
|
|
spotx.tv, 99441, RESELLER, 7842df1d2fe2db34
|
|
spotxchange.com, 234183, RESELLER, 7842df1d2fe2db34
|
|
spotxchange.com, 99441, RESELLER, 7842df1d2fe2db34
|
|
target.my.com, 8676470, RESELLER
|
|
ucfunnel.com, par-8A2A4A443B29BB92F9622D3A67346AB, RESELLER
|
|
ucfunnel.com, par-D232D76A227923DA1D28D94AA9699AE8, RESELLER
|
|
verve.com, 15290, RESELLER, 0c8f5958fc2d6270
|
|
verve.com, 15503, RESELLER, 0c8f5958fc2d6270
|
|
video.unrulymedia.com, 3704396951, RESELLER
|
|
webeyemob.com, 70090, RESELLER
|
|
yieldlab.net, 2172218, RESELLER
|
|
9th Nov 2020
|
mobirtb.com, 149, RESELLER
|
pubmatic.com, 159831, RESELLER, 5d62403b186f2ace
|
|
pubmatic.com, 159897, RESELLER, 5d62403b186f2ace
|
|
cmcm.com, 135, RESELLER
|
|
openx.com, 539315083, RESELLER, 6a698e2ec38604c6
|
|
criteo.com, 186227, RESELLER
|
|
rhythmone.com, 4268206200, RESELLER, a670c89d4a324e47
|
|
video.unrulymedia.com,4268206200,RESELLER
|
|
loopme.com, 11281, RESELLER, 6c8d5f95897a5a3b
|
|
olaex.biz,100023,RESELLER
|
|
pubmatic.com, 158271, RESELLER, 5d62403b186f2ace
|
|
kubient.com, 5eb2cb089c866, RESELLER, 4f12311e6ed900a3
|
|
12th Nov 2020
|
pokkt.com, 5610 , RESELLER, c45702d9311e25fd
|
pubmatic.com, 156520, RESELLER, 5d62403b186f2ace
|
|
spotxchange.com, 117872, RESELLER, 7842df1d2fe2db34
|
|
spotx.tv, 117872, RESELLER, 7842df1d2fe2db34
|
|
freewheel.tv, 1058753, DIRECT
|
|
freewheel.tv, 1058769, RESELLER
|
|
26th Nov 2020
|
axonix.com,56222,RESELLER
|
rubiconproject.com,12186,RESELLER,0bfd66d529a55807
|
|
e-planning.net,2af6560b926d20f9,RESELLER,c1ba615865ed87b2
|
|
improvedigital.com,1556,RESELLER
|
|
openx.com,541031350,RESELLER,6a698e2ec38604c6
|
|
pubmatic.com,156631,RESELLER,5d62403b186f2ace
|
|
18th Jan 2021
|
adview.com, 32076181, RESELLER, 1b2cc038a11ea319
|
pubwheel.com, 32076181, RESELLER, 1b2cc038a11ea319
|
|
adcolony.com, 382d79cd1387e603, RESELLER, 1ad675c9de6b5176
|
|
admanmedia.com, 48, RESELLER
|
|
admixer.co.kr, 1287, RESELLER
|
|
admixer.net, 0072fb58-999b-445e-9a9b-3fc2a7194277, RESELLER
|
|
admixer.net, de2ae535-59eb-4f0b-95e3-89f821933d47, RESELLER
|
|
advertising.com, 25990, RESELLER
|
|
appnexus.com, 10005, RESELLER, f5ab79cb980f11d1
|
|
appnexus.com, 10824, RESELLER,f5ab79cb980f11d1
|
|
appnexus.com, 9569, RESELLER,f5ab79cb980f11d1
|
|
appnexus.com, 4052, RESELLER,f5ab79cb980f11d1
|
|
appnexus.com, 3703, RESELLER, f5ab79cb980f11d1
|
|
aralego.com, par-BE776B39322A364BC7767A69AB99BBD9, RESELLER
|
|
aralego.com, par-D233672DD744287DCD7E2439B82494AD, RESELLER
|
|
chartboost.com, 5eac93f341016b09ff0019b6, RESELLER
|
|
contextweb.com, 562122, RESELLER, 89ff185a4c4e857c
|
|
conversantmedia.com, 100081, RESELLER, 03113cd04947736d
|
|
decenterads.com, 14, RESELLER
|
|
decenterads.com, 92, RESELLER
|
|
districtm.io,101649,RESELLER,3fd707be9c4527c3
|
|
gammassp.com, 1521707344, RESELLER, 31ac53fec2772a83
|
|
google.com, pub-9685734445476814, RESELLER, f08c47fec0942fa0
|
|
groundtruth.com, 107, RESELLER, 81cbf0a75a5e0e9a
|
|
improvedigital.com, 1331, RESELLER
|
|
indexexchange.com, 185578, RESELLER, 50b1c356f2c5c8fc
|
|
inmobi.com, 867c89bb53994aaeb9dae3ce75b03e78, RESELLER, 83e75a7ae333ca9d
|
|
lkqd.net, 459, RESELLER, 59c49fa9598a0117
|
|
loopme.com, 11189, RESELLER, 6c8d5f95897a5a3b
|
|
loopme.com, s-2411, RESELLER, 6c8d5f95897a5a3b
|
|
loopme.com, 10178, RESELLER, 6c8d5f95897a5a3b
|
|
mars.media, 102753, RESELLER
|
|
mobfox.com, 82593, RESELLER, 5529a3d1f59865be
|
|
openx.com, 540326226, RESELLER, 6a698e2ec38604c6
|
|
rubiconproject.com, 16114, RESELLER, 0bfd66d529a55807
|
|
pokkt.com, 7000, RESELLER, c45702d9311e25fd
|
|
pubmatic.com, 156835, RESELLER, 5d62403b186f2ace
|
|
Pubnative.net, 1006936, RESELLER, d641df8625486a7b
|
|
rhythmone.com, 3218195319, RESELLER, a670c89d4a324e47
|
|
rubiconproject.com, 13856, RESELLER, 0bfd66d529a55807
|
|
rubiconproject.com, 16834, RESELLER, 0bfd66d529a55807
|
|
rubiconproject.com, 11726, RESELLER, 0bfd66d529a55807
|
|
rubiconproject.com, 12266, RESELLER, 0bfd66d529a55807
|
|
smartadserver.com, 3797, RESELLER
|
|
smartadserver.com, 1692, RESELLER
|
|
smartyads.com, 368, RESELLER
|
|
spotx.tv, 283422, RESELLER, 7842df1d2fe2db34
|
|
spotxchange.com, 283422, RESELLER, 7842df1d2fe2db34
|
|
tappx.com, 14039, RESELLER, 9f375a07da0318ec
|
|
telaria.com, s92od-u4sw5, RESELLER, 1a4e959a1b50034a
|
|
tremorhub.com, s92od-u4sw5, RESELLER, 1a4e959a1b50034a
|
|
ucfunnel.com, par-BE776B39322A364BC7767A69AB99BBD9, RESELLER
|
|
ucfunnel.com, par-D233672DD744287DCD7E2439B82494AD, RESELLER
|
|
mars.media, 1010422, RESELLER, 8624339f102fb076
|
|
advertising.com, 6814, RESELLER
|
|
beachfront.com, 805, RESELLER, e2541279e8e2ca4d
|
|
improvedigital.com, 1210, RESELLER
|
|
improvedigital.com, 1221, RESELLER
|
|
appnexus.com, 12223, RESELLER, f5ab79cb980f11d1
|
|
freewheel.tv, 1161393, RESELLER
|
|
pubmatic.com, 160195, RESELLER, 5d62403b186f2ace
|
|
pubmatic.com, 160194, RESELLER, 5d62403b186f2ace
|
|
google.com, pub-7214269347534569, RESELLER, f08c47fec0942fa0
|
|
freewheel.tv, 1162449, RESELLER
|
|
gitberry.com, XLV, RESELLER
|
|
inmobi.com, 5baa7ca93ef847c0876297e737dac3ee, RESELLER, 83e75a7ae333ca9d
|
|
freewheel.tv, 1173729, RESELLER
|
|
freewheel.tv, 1173793, RESELLER
|
Step 3: Write the app-ads.txt file
Create and save an app-ads.txt file in any text editor (e.g. Notepad) listing out all the lines you received from your ad source partners.
Step 4: Upload the app-ads.txt file
Upload the app-ads.txt file to the root of your website domain (e.g. https://www.example.com/app-ads.txt).
To sum up...
Vungle is committed to more transparency and security in the mobile advertising ecosystem. It’s important both ad networks and developers do their part to participate in this movement to help remove fraud. We encourage all our developers to adopt app-ads.txt so they stay healthy on our network and earn the revenue they deserve.
Still have questions?
Please submit a technical support request!