Adgora
Guides 12 min read 2,254 words

How to Fix Adgora ads.txt and Placement Approval Issues

Learn how to fix Adgora ads.txt and placement approval issues by checking file location, syntax, domain matching, and review status.

Adgora
On this page0%

    How to Fix Adgora ads.txt and Placement Approval Issues

    How to Fix Adgora ads.txt and Placement Approval Issues

    Two problems often get mixed together: ads.txt errors and placement approval issues. They are not the same. One blocks authorized ad serving at the file level, and the other blocks a specific placement from going live. If you are trying to solve how to fix Adgora ads.txt and placement approval issues, start by separating those two checks before you touch anything else.

    An ads.txt problem usually means the seller record cannot be found, read, or matched on the correct domain. A placement approval issue is different: the site may be fine, but the placement itself can still be rejected, pending, or limited because of policy, traffic, or page quality. A publisher can have a valid ads.txt file and still wait on approval. That happens.

    Think of it as two gates. The first gate is technical. The second gate is editorial and policy-based. If the first gate fails, Adgora may not recognize the inventory correctly. If the second gate fails, the placement may sit in review even though the file looks perfect.

    1. Understand the two problems

    ads.txt is a text file placed on the root of your domain. It tells authorized buyers who can sell your inventory. Placement approval is the review of a specific ad slot, widget, or ad unit inside your site or app. One is about ownership and authorization. The other is about the individual place where ads will appear.

    If your ads.txt line is missing, malformed, or placed on the wrong domain, the ad system can treat the inventory as unauthorized or incomplete. If your placement is not approved, the system may still know your domain, but it will not serve ads into that slot until the review passes. Different fix. Different result.

    Here is a practical example. A publisher adds an ad unit to a homepage, but the homepage is on example.com while the ads.txt file is published on www.example.com. That small mismatch can break validation. The placement may also fail if the page has thin content, broken navigation, or a traffic source that looks suspicious.

    Check both sides. One file. One placement.

    2. Check your ads.txt file setup

    Find the ads.txt file at the root of the main domain, usually https://yourdomain.com/ads.txt. Do not put it in a folder, and do not hide it behind a blocked path. If your site uses both the bare domain and the www version, make sure you know which version Adgora expects.

    Edit the file in a plain text editor. Save it as ads.txt, not ads.txt.html and not a Word document with a text-looking name. Then publish it on the live domain. A simple browser test helps: open the file directly in a new tab and confirm it loads as plain text.

    The Adgora seller line should be added exactly where Adgora instructs you to place it. Do not guess at the account name or ID. Use the values from your Adgora publisher dashboard or support message. One wrong character can stop validation.

    If the site runs through a CMS or CDN, confirm the file is not being cached incorrectly. A stale copy can keep showing an old line even after you update it. That is annoying, and it happens more often than most teams admit.

    Some publishers maintain multiple domains. In that case, each domain needs its own ads.txt file if each domain is meant to serve inventory. A file on one domain does not automatically authorize another. Simple rule. Separate file.

    3. Verify the ads.txt entry format

    The ads.txt line must follow the required syntax exactly. The usual structure includes the ad system domain, the publisher account ID, a relationship flag, and sometimes an optional certification authority ID. If any field is missing or wrong, validation can fail.

    Common formatting mistakes are easy to make. Extra spaces at the start of the line. Invisible characters copied from a spreadsheet. Commas where there should be only line breaks. A typo in the seller domain. A publisher ID that belongs to a different account. Each one can trigger a failure, and none of them look dramatic in the editor.

    Keep the file clean. One seller line per line. No comments unless Adgora explicitly allows them. No HTML tags. No smart quotes. No note about where you found the line. Just the required text.

    If you are checking a file by eye, use a table like this:

    Check What to confirm Why it matters
    Domain The file is on the live root domain Validation reads the wrong host if it is misplaced
    Syntax Fields appear in the correct order One bad field can invalidate the whole line
    Publisher ID The ID matches your Adgora account Wrong IDs do not authorize the inventory
    File type Plain text, named ads.txt Other formats are not read correctly

    Do not paste the line into a rich-text editor first. That can introduce formatting junk you will not see. Copy once. Paste once. Save once.

    4. Confirm domain and account matching

    Your website domain in Adgora must match the domain listed in ads.txt and the domain in your publisher account. If the dashboard says example.com but the site uses blog.example.com, that mismatch can cause confusion during review or delivery. Subdomains are not always treated as the same property.

    Check the exact spelling. http and https are not the issue; the hostname is. Trailing slashes are not the issue either, but a typo in the domain is. One missing letter can create a support thread that lasts far longer than it should.

    If you manage several sites, keep a simple list with three columns: domain, Adgora account entry, and ads.txt location. That sounds basic because it is. Basic checks prevent slow mistakes. A misplaced domain is one of the most common reasons a file looks correct but still fails validation.

    For publishers who also read about other traffic models, the same attention to matching matters in cases like CPC vs CPM vs CPA, where the wrong setup can distort what you think is working. Different topic, same habit: match the record to the real property.

    5. Review placement submission requirements

    Before submitting a placement, check the page where it will live. Content should be visible, readable, and relevant. A page with 50 words and a single image is not a strong candidate. A page with clear sections, real navigation, and enough original content usually does better.

    Traffic source matters too. If your site gets traffic from sources that violate policy or appear manipulated, the placement may be held back. That can include forced clicks, misleading redirects, or low-quality traffic patterns. The review team is not looking for perfection; it is looking for consistency and a legitimate site experience.

    Navigation matters as well. A reviewer should be able to move from homepage to content pages without fighting pop-ups or dead links. If your menu is hidden, broken, or overloaded with ads, that can count against approval. One clean menu is better than five cluttered ones.

    Publishers in niches like crypto ad network for publishers often need to be extra careful because category labeling and content clarity affect review speed. A page about wallets, exchanges, or tokens should say what it is. No mystery. No guessing.

    Before submission, check these items:

    • Original content is visible on the page
    • Navigation works on desktop and mobile
    • No broken pages or empty sections remain
    • Traffic sources are policy-compliant
    • The ad slot is placed on a live page, not a draft

    6. Fix common approval blockers

    The most common blocker is thin content. If the page exists only to hold an ad unit, reviewers usually notice. Add real text, clear section headings, and a page purpose. A landing page with one paragraph and three buttons is rarely enough.

    Another blocker is poor site structure. If the page is buried behind broken links or unreachable from the menu, the placement may stay pending. Fix the path. Make the page easy to find in two clicks or fewer if possible.

    Policy issues can be harder to spot. Adult content, misleading claims, malware warnings, aggressive pop-ups, or copied material can all slow approval or cause rejection. Remove the offending element, then wait for the page to be rechecked. Do not keep resubmitting the same broken version.

    Some placements get stuck because the ad code was installed on a page that is still under construction. That is an easy miss. If the page is not finished, pause the submission until the content and layout are final. Reviewers are judging the live page, not the intent behind it.

    If the page belongs to a vertical like dating offers, the content has to be especially clear about audience, age gating, and policy boundaries. Ambiguous pages tend to attract slower reviews. Clear is faster.

    7. Resubmit and monitor status

    After you fix ads.txt or update the placement, resubmit from the Adgora dashboard. Do not make three changes at once if you can avoid it. If you change the file, the domain, and the ad unit in a single pass, you will not know which fix solved the problem.

    Then wait for the dashboard status to update. Look for approval, pending, rejected, or error messages. If the interface gives a specific note, copy it exactly. That exact wording matters when you are comparing the message to your latest changes.

    Check the timing too. Some systems refresh quickly, and others need more time. If the file is live but the dashboard still shows the old state after a reasonable interval, recheck the public ads.txt URL and the page source. A cached page can trick you into thinking the update failed.

    Keep screenshots of the before and after state. One screenshot of the live ads.txt file. One screenshot of the placement page. One screenshot of the dashboard message. Three images can save a long support exchange later.

    If you also work across channels, the same disciplined resubmission habit helps with mobile app install campaigns, where the asset version and destination need to match exactly. Different format, same discipline.

    8. Contact Adgora support with the right details

    If the issue still does not clear, send support the exact domain, the placement ID, and the full error message. Do not write “it does not work” and stop there. Support teams can move much faster when they have the exact page, exact slot, and exact failure text.

    Include screenshots of the ads.txt file as it appears in the browser, not just in your editor. Add the timestamp if your dashboard shows one. If the problem happens only on one subdomain or one page template, say that plainly. That one detail can cut the back-and-forth in half.

    If your request concerns how to fix Adgora ads.txt and placement approval issues, say so in the first line. Then list the steps you already took. Example: updated ads.txt, verified the domain, resubmitted placement, checked cache, and confirmed the page is live. Support does not need a story. It needs the trail.

    Use clear subject lines. “ads.txt validation fails on example.com” is better than “help please.” Attach the seller line if you are unsure whether the syntax is the problem, and mention whether the issue affects a single placement or the entire account. One account-wide note can prevent a lot of repetition.

    If you want to cross-check terminology while you wait, the ad tech glossary can help you keep terms straight. That matters when you are comparing seller records, placement status, and domain matching in the same ticket. Mixed terms create mixed answers.

    Support tickets move faster when they contain numbers. Domain. Placement ID. Error code. Date submitted. Even a short note like “verified on 2 pages and 1 subdomain” gives the team something concrete to test. Facts beat frustration every time.

    Terms in this article

    Short definitions from the Adgora glossary.

    CPC
    Cost per click — you pay only when someone clicks. The bid you set is the most you will pay for a click; the auction often clears lower. Best when…
    CPM
    Cost per mille — the price for one thousand impressions, paid whether or not anyone clicks. You are buying attention rather than actions, which sui…
    CPA
    Cost per action — you pay only when a defined action happens: a sale, a signup, a deposit. The lowest-risk model for the buyer and the highest bar…
    Landing page
    The page a click sends someone to. It has one job: continue the promise the ad made. See landing page optimization.
    Offer
    A specific thing being advertised with a defined payout for a defined action — the unit of CPA. See the CPA marketing guide.

    Frequently asked questions

    What is the difference between an ads.txt error and a placement approval issue in Adgora?

    An ads.txt error is a technical problem with authorizing ad inventory at the file level, while a placement approval issue is about whether a specific ad slot is allowed to go live. A publisher can have a valid ads.txt file and still have a placement stuck in review or rejected.

    Where should the ads.txt file be placed for Adgora to validate it correctly?

    The ads.txt file should be on the root of the live main domain, such as https://yourdomain.com/ads.txt. It should not be placed in a folder or hidden behind another path, and it must be accessible as plain text.

    What are common ads.txt formatting mistakes that can break validation?

    Common mistakes include extra spaces, invisible characters, wrong domain names, incorrect publisher IDs, and using the wrong file type. The file should contain only the required seller lines in the correct syntax, with no HTML tags or rich-text formatting.

    Why does domain matching matter for ads.txt and Adgora approval?

    The domain in your website, Adgora account, and ads.txt file must match closely for validation and review to work properly. A mismatch between example.com and www.example.com, or between a domain and subdomain, can cause the inventory to be treated as incorrect or unauthorized.

    Share this article

    Found it useful? Send it to someone who buys or sells traffic.

    Next step

    Ready to put this into practice?

    Launch a campaign or monetize your traffic on Adgora — crypto payments, real-time stats, no lock-in.