Home
CUSTOM DOMAIN SETUP

Connect your review link to your domain.

Follow these steps to use a domain you already own for your Tinjau review portal. You will add two DNS records: one to prove ownership and one to send visitors to Tinjau.

Before you start

Start with the details you already have.

  • An Agency or Studio workspace with custom domains enabled.
  • Access to your domain provider, such as Cloudflare, GoDaddy, or Namecheap.
  • The hostname you want to use, for example review.example.com.
The five-step setup

Ownership first, traffic second.

  1. 01
    01

    Enter your hostname in Tinjau

    Open Workspace settings, choose Domains, and enter the address where clients should review your work.

    • Use a subdomain such as review.example.com, or your root domain example.com.
  2. 02
    02

    Add the TXT ownership record

    Copy the TXT type, host/name, and exact value shown by Tinjau into your DNS provider. This record tells us that you control the domain.

    • Do not add quotation marks around the value.
    • Keep the record exactly as Tinjau displays it.
  3. 03
    03

    Check verification

    Return to Tinjau and click Check verification. We look for the TXT record and confirm ownership.

    • DNS changes can take a few minutes, and sometimes longer with your provider.
    • You can safely check again while DNS is propagating.
  4. 04
    04

    Add the routing record

    After ownership is verified, add the CNAME or ALIAS record shown in Tinjau. This is what sends visitors to your review portal.

    • For a subdomain, use CNAME.
    • For a root domain, use ALIAS, ANAME, or your provider’s CNAME flattening.
  5. 05
    05

    Wait for the connection

    Allow DNS time to update, then check verification again. Tinjau will show when your domain is fully connected and ready for clients.

    • SSL is provisioned automatically after the routing record is detected.
    • Keep both the TXT and routing records in DNS.
Two records, two jobs

Two records, two jobs.

DNS providers use slightly different labels, but the fields mean the same thing everywhere. Add both records to the same domain.

TXT

TXT · Proves ownership

The TXT record is a one-time ownership check. It does not send traffic anywhere.

Type / Record type
TXT
Host / Name
_tinjau / _tinjau.review
Value / Content
Value from Tinjau
CNAME / ALIAS

CNAME / ALIAS · Sends traffic

The routing record connects your hostname to the Tinjau hosting site. Without it, ownership can be verified but the page will not load on your domain.

Type / Record type
CNAME
Host / Name
review
Target / Points to
Your Cloudflare target

For a subdomain

If you entered review.example.com, create a CNAME with Host/Name review and Target/Points to the Cloudflare target shown in your workspace. The full address stays review.example.com.

For a root (apex) domain

If you entered example.com without a prefix, use ALIAS or ANAME when your provider supports it. Some providers call this CNAME flattening. Point the root to the same Cloudflare target. Standard CNAME records usually cannot be placed at the root.

Examples by provider

Use the same values in any DNS dashboard.

The buttons and field names differ slightly, but the values are the same. Replace the example hostname with the values Tinjau gives you.

Cloudflare

DNS → Records → Add record.

CNAME

Type CNAME · Name review · Target the Cloudflare target shown in Tinjau · Proxy status DNS only.

ALIAS / ANAME

Use CNAME with Name @ if CNAME flattening is enabled, or use the provider-supported ALIAS/ANAME option.

GoDaddy

Domains → DNS → Add New Record.

CNAME

Type CNAME · Name review · Value the Cloudflare target shown in Tinjau · TTL Default.

ALIAS / ANAME

Use the available forwarding/ALIAS option for the root, or follow GoDaddy’s current apex CNAME guidance.

Namecheap

Advanced DNS → Host Records → Add New Record.

CNAME

Type CNAME Record · Host review · Value the Cloudflare target shown in Tinjau · Automatic TTL.

ALIAS / ANAME

Use an ALIAS Record with Host @ when available. A URL Redirect is not the same as DNS routing.

If it does not verify

A few common DNS surprises.

The TXT record is not found

Check that the host/name matches exactly. For a root domain, the host is usually _tinjau; for review.example.com, it is usually _tinjau.review. Some providers automatically append your domain, so do not paste the full domain twice.

Ownership is verified but the page does not load

TXT only proves ownership. Add the separate CNAME, ALIAS, or ANAME routing record and make sure the target is the exact Cloudflare target from Tinjau.

DNS is still updating

Propagation is controlled by your DNS provider and can take minutes or, occasionally, up to 24–48 hours. Wait and check again instead of creating duplicate records.

The provider shows a proxy or redirect option

For Cloudflare, start with DNS only while connecting the domain. A URL redirect is not a CNAME and will not connect the review portal.

Browser uploads on custom hosts

Allow your workspace origin in bucket CORS.

Files upload directly from the browser to the S3 or Cloudflare R2 bucket connected to your workspace. You do not need to add the review hostname as an R2 custom domain. If the workspace is opened on a custom domain, allow that exact origin in the bucket CORS policy or the browser will block the upload.

  1. 1Open the connected bucket settings and find its CORS policy. For Cloudflare R2, this is R2 → your bucket → Settings → CORS policy.
  2. 2Add https://deck.tinjau.app, your default workspace host such as https://studio-slug.tinjau.app, and every verified custom host such as https://review.example.com. Keep each origin exact, with no path or trailing slash.
  3. 3Allow GET, PUT, POST, DELETE, and HEAD, allow the headers used by presigned uploads, and expose the ETag response header.
  4. 4If the browser reports that Access-Control-Allow-Origin is missing, add the origin shown in the address bar and retry. This is a bucket setting, not a DNS record or application deployment.

Need a hand?

Send us the hostname and a screenshot of the DNS fields (hide any unrelated private records). We can help you identify which value belongs in each field.

Contact support