Skip to main content

Overview

Custom domains allow you to host your Gumroad product pages and storefront on your own domain, providing a fully branded experience for your customers.

Domain Types

Gumroad supports two types of custom domains:

User Custom Domain

Your main storefront domain (e.g., shop.yourbrand.com)

Product Custom Domain

Individual domain for a specific product (e.g., myebook.com)
You can have one user domain for your profile and multiple product-specific domains.

Setting Up a Custom Domain

Step 1: Choose Your Domain

Select a domain you own or purchase a new one:
  • Root domain: yourbrand.com
  • Subdomain: shop.yourbrand.com (recommended)
  • www prefix: www.yourbrand.com
Subdomains are recommended because they’re easier to configure and don’t affect your main website.

Step 2: Add Domain to Gumroad

CustomDomain.create!(
  user: current_user, # or product: specific_product
  domain: "shop.yourbrand.com"
)
When you add a domain:
  1. Domain is validated for format
  2. Uniqueness is checked
  3. State is set to unverified
  4. Verification instructions provided

Step 3: Configure DNS

Add a CNAME record in your DNS settings:
Type: CNAME
Name: shop (or @ for root domain)
Value: domains.gumroad.com
TTL: 3600 (or default)
Popular DNS Providers:
  • Cloudflare
  • Namecheap
  • GoDaddy
  • Google Domains
  • AWS Route 53
DNS changes can take 24-48 hours to propagate globally. Be patient during setup.

Step 4: Verification

Gumroad automatically verifies your domain:
# Verification checks:
1. DNS lookup for CNAME record
2. HTTP request to domain
3. Confirms points to Gumroad
4. Updates state to 'verified'

Step 5: SSL Certificate

After verification, SSL certificate is generated:
  1. Certificate Request - Let’s Encrypt certificate ordered
  2. ACME Challenge - Automated domain validation
  3. Certificate Issued - Usually within minutes
  4. HTTPS Enabled - Your domain is now live
SSL certificates are free and automatically renewed every 90 days.

Domain States

State Machine

State Definitions

  • unverified - DNS not configured or not detected yet
  • verified - DNS points to Gumroad, domain is active

Verification Attempts

Gumroad tracks failed verification attempts:
  • Max 3 failed attempts before notification
  • Automatic retry every few hours
  • Email alert after repeated failures
  • Manual recheck available
custom_domain.verify(
  allow_incrementing_failed_verification_attempts_count: true
)

Domain Validation

Format Requirements

Valid domain must:
  • Be a valid hostname (alphanumeric, hyphens, dots)
  • Have valid public suffix (TLD)
  • Not be an IP address
  • Not end with a dot
  • Not contain spaces or special characters

Forbidden Domains

Cannot use Gumroad’s own domains:
  • *.gumroad.com
  • *.gumroad.co
  • *.gumroad.net
  • *.gum.co
  • *.discover.gumroad.com
Attempting to use forbidden domains will be rejected immediately.

Using Custom Domains

User Domain Behavior

When you have a user custom domain:
// Your profile
https://username.gumroad.com 
https://shop.yourbrand.com

// Your products
https://username.gumroad.com/l/product
https://shop.yourbrand.com/l/product

Product Domain Behavior

Product-specific domains:
// Standard URL
https://username.gumroad.com/l/my-ebook

// With product custom domain
https://myebook.com
Product domains have priority over user domains for that specific product.

Domain Precedence

  1. Product Custom Domain - If product has one, use it
  2. User Custom Domain - Fall back to user domain
  3. Gumroad Subdomain - Default username.gumroad.com

SSL Certificates

Certificate Management

SSL certificates are fully automated:
custom_domain.ssl_certificate_issued_at
Timestamp when cert was issued
nil if not yet issued

Certificate Renewal

Certificates renew automatically:
  • Checked weekly for domains needing renewal
  • Renewed when < 1 week until expiration
  • Zero downtime during renewal
  • Email notification if renewal fails

Certificate Troubleshooting

If certificate fails to generate:
  1. Verify DNS - Ensure CNAME still points correctly
  2. Check Status - Domain must be in verified state
  3. Wait for Propagation - DNS may still be updating
  4. Retry Generation - Manually trigger regeneration
custom_domain.generate_ssl_certificate
Let’s Encrypt has rate limits. Avoid repeatedly regenerating certificates.

Domain Management

Updating Domains

Changing your domain:
custom_domain.update!(domain: "new-shop.yourbrand.com")
Resets ssl_certificate_issued_at
Sets state to unverified
Requires new DNS configuration
Generates new SSL certificate

Removing Domains

Delete a custom domain:
custom_domain.mark_deleted!
Soft-deletes domain
URLs revert to gumroad.com
SSL certificate no longer renewed

Active Domain Check

Verify domain is working:
custom_domain.active?
  → verified? && has_valid_certificate?(1.week)

Common DNS Configurations

Cloudflare

1. Log in to Cloudflare
2. Select your domain
3. Go to DNS settings
4. Add CNAME record:
   - Name: shop
   - Target: domains.gumroad.com
   - Proxy status: DNS only (gray cloud)
5. Save
If using Cloudflare, disable the orange cloud (proxy) on your CNAME. It must be “DNS only” (gray cloud).

Namecheap

1. Log in to Namecheap
2. Domain List → Manage
3. Advanced DNS
4. Add New Record:
   - Type: CNAME Record
   - Host: shop
   - Value: domains.gumroad.com
   - TTL: Automatic
5. Save

GoDaddy

1. Log in to GoDaddy
2. My Products → DNS
3. Click CNAME row or Add
4. Configure:
   - Type: CNAME
   - Name: shop
   - Value: domains.gumroad.com
   - TTL: 1 Hour
5. Save

Root Domain Setup

Root domains (e.g., yourbrand.com) require special handling:

CNAME Flattening

Some DNS providers support CNAME flattening:
  • Cloudflare - Automatic CNAME flattening
  • Cloudflare - Use CNAME for root
  • Others - May not support root CNAME

A Record Alternative

If your DNS doesn’t support root CNAME:
Type: A
Name: @
Value: [IP provided by Gumroad support]
Contact Gumroad support for the current IP addresses if you need A record setup.

WWW Prefix Handling

Gumroad handles www automatically:
// You configure: shop.yourbrand.com
// Also works: www.shop.yourbrand.com (if DNS allows)

// You configure: yourbrand.com  
// Also redirects: www.yourbrand.com

Domain Matching

CustomDomain.find_by_host("www.shop.yourbrand.com")
Finds custom_domain for "shop.yourbrand.com"
Strips www prefix automatically

SEO Considerations

Canonical URLs

Gumroad sets proper canonical tags:
<link rel="canonical" href="https://shop.yourbrand.com/l/product" />

Redirects

Old URLs redirect to custom domain:
// Before custom domain
https://username.gumroad.com/l/product

// After custom domain  
https://shop.yourbrand.com/l/product (301 redirect)

SSL for SEO

HTTPS is enforced:
  • All HTTP requests redirect to HTTPS
  • HSTS headers sent
  • Improves search rankings
Custom domains on HTTPS can improve conversion rates by 5-10% due to increased trust.

Custom Domain Analytics

Track domain performance:
  • Page views on custom domain
  • Conversion rates by domain
  • SSL certificate status
  • Verification failures

Troubleshooting

Domain Not Verifying

Check DNS Configuration:
# Lookup CNAME record
dig shop.yourbrand.com CNAME

# Should return:
shop.yourbrand.com. 3600 IN CNAME domains.gumroad.com.
Common Issues:
  • DNS not propagated yet (wait 24-48 hours)
  • CNAME points to wrong target
  • Root domain without CNAME flattening
  • Cloudflare proxy enabled (disable it)

SSL Certificate Not Generating

Verify Prerequisites:
  • Domain is in verified state
  • DNS is propagated globally
  • Not hitting Let’s Encrypt rate limits
Retry Certificate:
custom_domain.reset_ssl_certificate_issued_at!
custom_domain.generate_ssl_certificate

Domain Shows as Inactive

Check Active Status:
custom_domain.active?
# Requires:
#  - verified? = true
#  - ssl_certificate_issued_at within 1 week
Possible Causes:
  • Certificate expired (auto-renewal failed)
  • DNS changed (no longer points to Gumroad)
  • Domain marked as unverified

Connection Not Secure Warning

Causes:
  • SSL certificate not yet issued (wait a few minutes)
  • Certificate expired (contact support)
  • Mixed content on page (check resources)
If SSL issues persist after 24 hours, contact Gumroad support with your domain name.

Advanced Configuration

Multiple Domains

One user domain + multiple product domains:
# User storefront
user.custom_domain = "shop.yourbrand.com"

# Individual products
product1.custom_domain = "awesome-course.com"
product2.custom_domain = "amazing-ebook.com"

Domain Transfer

Moving domain to different product:
  1. Delete domain from current product
  2. Wait for DNS to clear (optional)
  3. Add domain to new product
  4. Verify and generate certificate

Subdomain Strategy

Organize products with subdomains:
shop.yourbrand.com - Main storefront
courses.yourbrand.com - Course products
ebooks.yourbrand.com - eBook products
membership.yourbrand.com - Subscription product
Subdomains require separate custom domain entries in Gumroad for each one.

Email Sending Domain

Custom domains don’t affect email sending:
  • Receipts still sent from gumroad.com
  • Email authentication uses Gumroad’s domain
  • Cannot use custom domain for emails currently
Custom email sending domains may be available in the future for enterprise users.

Best Practices

Use Subdomains

Easier to configure than root domains

Test Before Switching

Verify domain works before promoting it

Monitor Certificates

Check SSL status regularly

Keep DNS Simple

Avoid unnecessary redirects or proxies

Limitations

  • One user domain per account
  • One domain per product (not multiple)
  • No email customization (uses Gumroad domain)
  • No subdirectory paths (e.g., yourbrand.com/shop)
  • CNAME only (A records require support)

Migration Checklist

When switching to a custom domain:
  1. Purchase/identify domain to use
  2. Add domain in Gumroad settings
  3. Configure DNS CNAME record
  4. Wait for verification (up to 48 hours)
  5. Verify SSL certificate issued
  6. Test domain loads correctly
  7. Update marketing materials with new URL
  8. Set up redirects from old URLs (automatic)
  9. Update social media links
  10. Notify customers of new domain (optional)

Next Steps

Products

Create products to host on your domain

Sales & Analytics

Track performance on your custom domain

Payment Setup

Configure payment processing for your store

Build docs developers (and LLMs) love