Suped

Why does Google domain verification with TXT records fail and CNAME records work better?

Matthew Whittaker profile picture
Matthew Whittaker
Co-founder & CTO, Suped
Published 2 Jun 2025
Updated 19 Aug 2025
8 min read
I've encountered situations where verifying a domain with Google using a TXT record has been a frustrating experience. You set up the record, wait for DNS to propagate, and still, the verification fails. Then, out of curiosity or necessity, you try the CNAME method, and suddenly, it works almost instantly. This disparity can be puzzling, especially when you expect DNS records to behave predictably. Why does this happen, and is there a fundamental difference that makes CNAME records more reliable for Google's domain verification process?

Understanding DNS records and propagation

Before diving into the specifics of why one method might outperform the other, it's essential to understand the basics of DNS propagation. When you add or modify a DNS record, like a TXT or CNAME entry, these changes aren't instantly visible across the entire internet. DNS resolvers around the world need time to update their caches with the new information. This delay is known as DNS propagation, and it can vary significantly depending on several factors.
The time-to-live (TTL) value of a DNS record plays a crucial role here. The TTL dictates how long a DNS resolver should cache a record before querying for a fresh copy. A lower TTL, such as 60 seconds, suggests that changes should propagate quickly. However, this only applies to records that are already known to the resolver. If a record was previously missing or never queried, the resolver might cache that missing state based on the SOA record's TTL, which is often much higher than an individual record's TTL.
This concept of negative caching is often a hidden culprit in domain verification failures. If Google's DNS resolver tries to find your TXT record before it has fully propagated and doesn't find it, it might cache that negative response. Even if you then add the record correctly, the cached negative response could persist for a longer duration, causing repeated verification failures until that cache expires. This is particularly relevant when adding new records, as opposed to modifying existing ones.

Understanding DNS caching and propagation

DNS propagation refers to the time it takes for DNS changes, like new records, to update across all DNS servers globally. The Time-to-Live (TTL) value on a DNS record dictates how long recursive DNS servers should cache (store) a record before querying the authoritative name server for an update.
For domain verification, the service (e.g., Google) queries your domain's DNS records. If the record isn't found or is incorrect, it will fail. Propagation delays, especially for newly created records, are a common reason for initial failures. Even with a low TTL, it can take hours for a record to become globally accessible.
Adding new records, especially at the root of your domain, can often be a waiting game. Even if your domain registrar or DNS provider shows the record as published, it might still be propagating through various DNS resolvers, including Google's own DNS infrastructure. It's not uncommon for it to take a few hours or even a full day for the record to be reliably picked up by all necessary systems, despite what a low TTL might suggest. This is why patience is often recommended, sometimes waiting 24 hours before retrying.

The complexities of TXT records at the root domain

One of the key distinctions between TXT and CNAME records, especially in the context of domain verification, lies in their typical placement within the DNS zone. TXT records used for verification often need to be placed at the root of your domain (e.g., yourdomain.com). This root or @ record space is considered prime DNS real estate because it's where your main A records (for your website) and MX records (for email) reside.
When you add a new TXT record to the root, it's essentially sharing this crowded space with other critical records. This can sometimes lead to conflicts or unexpected behaviors, especially if your DNS provider has specific rules or internal caching mechanisms for the root domain. Moreover, if a TXT record was previously attempted and failed, that missing record state might be negatively cached, as discussed earlier. For example, RFC 1912 states that CNAME records cannot coexist with other records for the same hostname, though this typically applies to the hostname for which the CNAME is defined, not necessarily the root itself if the TXT is for a different purpose.
Troubleshooting TXT record failures can also be tricky. It often involves meticulously checking for typos, ensuring no extra spaces are present, and verifying that the record hasn't been accidentally deleted or overwritten. Sometimes, it's simply a matter of external DNS resolvers being slow to update, making it difficult to pinpoint the exact cause of the delay. This can be particularly frustrating for services like Google Postmaster Tools where timely verification is important for monitoring email deliverability.

The impact of negative caching on verification

When a DNS resolver attempts to look up a record and doesn't find it, it can negatively cache that not found status. The duration of this negative cache is determined by the SOA record's minimum TTL, not the individual record's TTL. If your SOA's minimum TTL is high, the negative cache can persist for hours, causing verification failures even after you've correctly added the record.

Why CNAME records often succeed where TXT fails

CNAME records, on the other hand, often benefit from being magic hostnames. Unlike TXT records at the root, CNAME records used for verification typically involve a unique subdomain (e.g., ghs.googlehosted.com). This subdomain is usually one that has never been queried before, meaning there's no existing (positive or negative) cache for it in DNS resolvers.
When you add a CNAME record to a new, unique hostname, the DNS resolver has no prior knowledge of that specific entry. Therefore, its first query will always go directly to your authoritative DNS server, effectively bypassing any negative caching issues that might plague TXT records at the root. This direct lookup often results in much faster, sometimes almost instantaneous, verification. This behavior is also relevant for email authentication, where CNAME delegation enables SPF and DKIM for sending.

TXT record (for verification)

A TXT record is a text entry in your DNS used for various purposes, including domain verification, SPF, and DKIM. They can contain arbitrary text strings.
  1. Placement: Often placed at the root domain (@), which is shared with A and MX records.
  2. Caching issue: Susceptible to negative caching if the record was not found on a previous lookup.
  3. Propagation: Can experience delays, especially if conflicting with existing records or previous negative lookups.
Example TXT record for Google verification
TXT @ "google-site-verification=XXXXXXXXXXXXXXXXXXXXXXXX"

CNAME record (for verification)

A CNAME record (Canonical Name record) maps an alias name to a true canonical domain name. It's often used for domain verification and hosting.
  1. Placement: Typically uses a unique subdomain, like www or a specific verification string.
  2. Caching advantage: Less prone to negative caching because the specific subdomain is likely to be queried for the first time.
  3. Propagation: Often verifies much faster due to the fresh lookup.
Example CNAME record for Google verification
CNAME ghsv1.yourdomain.com ghs.googlehosted.com
Many services, including Google, actively recommend using CNAME for certain verification tasks due to this reliability. For instance, when setting up a custom domain for a Google Sites page, a CNAME record is often the preferred and most consistent method. It avoids potential conflicts at the root and offers a cleaner path for DNS resolvers to find the necessary information without being hindered by stale caches.

Practical tips for successful verification

Given the potential for TXT record headaches, especially at the root, I've found that adopting a few best practices can save a lot of time and frustration. When faced with domain verification, always consider the CNAME method first if it's offered by the service. It genuinely seems to provide a smoother and quicker verification experience, as many have observed. This can also apply to other DNS records like SPF where CNAMEs are often discouraged at the root, but for verification, they're typically fine.
Regardless of the method, checking your DNS records after making changes is crucial. Use an online DNS lookup tool to confirm that your records have propagated to various regions. This helps you identify if the issue is indeed propagation, a typo, or a specific problem with your DNS provider. If a service like Google Postmaster Tools isn't verifying your domain, it might be worth double-checking for hidden characters or incorrect values.

Issue

Possible cause

Solution

TXT record fails
Negative caching of previous failed lookup or slow propagation at root.
Wait several hours (24+ is best). If possible, switch to CNAME verification.
Immediate failure
Typo in record value or hostname, or record not saved correctly.
Double-check for extra spaces, hidden characters, or incorrect values. Ensure changes are saved.
Verification stuck
DNS provider issues, or network latency.
Contact your DNS provider's support for assistance.
Previous verification issues
Stale caches or persistent negative caching from past attempts.
Consider deleting existing records and re-adding them. Use a fresh subdomain if possible.
Finally, remember that the TTL you set on a record is merely a suggestion for resolvers. The actual time it takes to propagate can be influenced by many factors beyond your control, including the resolver's own caching policies, network congestion, and how frequently it queries authoritative name servers. Planning for a longer propagation window, even with low TTLs, is a pragmatic approach.

Views from the trenches

Best practices
Always try the CNAME verification method first if the service provides it, as it often works faster and more reliably.
Allow sufficient time for DNS propagation, potentially several hours or even up to 48 hours, regardless of your TTL setting.
Verify your DNS records using independent DNS lookup tools to ensure they are propagated globally from different locations.
Avoid making multiple rapid changes to your DNS records to prevent unexpected caching conflicts that can delay propagation.
Common pitfalls
Expecting immediate verification due to a low TTL on a new record, not accounting for negative caching of a previously 'missing' record.
Not realizing that TXT records placed at the root domain can sometimes conflict with other existing DNS entries.
Assuming all DNS resolvers will update at the same speed, leading to inconsistent verification results.
Entering incorrect record values due to copy-paste errors, hidden characters, or inadvertent extra spaces.
Expert tips
Utilize a reliable DNS checker to confirm record propagation from diverse geographical locations.
If TXT record verification fails, switch to the CNAME method if it is an available option for the service.
Understand that DNS caching behaviors, particularly negative caching, can significantly extend apparent propagation times.
For critical verifications, build in buffer time for potential delays and test your records well in advance of deadlines.
Marketer view
Marketer from Email Geeks says they experienced domain verification failing for TXT records, even with a low TTL, while the CNAME method worked almost instantly.
2019-03-16 - Email Geeks
Marketer view
Marketer from Email Geeks says they have seen Google take a long time to verify domains, sometimes up to 24 hours, even if nothing changes on their end.
2019-03-16 - Email Geeks

Streamlining your domain verification

While both TXT and CNAME records are valid for Google domain verification, the underlying DNS mechanisms and caching behaviors can significantly impact their success rates. The consistent, often instantaneous, success of CNAME verification compared to the sometimes unpredictable delays with TXT records points to the inherent advantages of using a unique subdomain that bypasses existing caches. Understanding these nuances can save you considerable troubleshooting time and help streamline your domain setup processes, whether for Google Workspace, Search Console, or other services.

Frequently asked questions

DMARC monitoring

Start monitoring your DMARC reports today

Suped DMARC platform dashboard

What you'll get with Suped

Real-time DMARC report monitoring and analysis
Automated alerts for authentication failures
Clear recommendations to improve email deliverability
Protection against phishing and domain spoofing