Agency
Branding & domain
Put your agency’s name, logo and colour on what clients see, and connect a domain of your own, such as reports.youragency.com.
White label
Open Branding & domain in the workspace. The preview beside the form shows what clients will see as you type.
| Setting | What it does |
|---|---|
| Brand name | Shown in place of Seentics. |
| Sign-in name | A short name for your sign-in page, such as meridian: 3–40 lowercase letters, digits and hyphens. |
| Logo URL | The address of your logo image. It must start with https://. |
| Primary colour | Your brand colour, as a hex value such as #7c3aed. |
| Support email | Where clients write to for help. |
| Footer text | A line at the bottom of every page, such as “Reports by Meridian Digital”. |
| Hide Seentics branding | Drops “Powered by Seentics” from client pages and emails. |
Choose Save branding when you're done.
Where clients see it
https://seentics.com/signin?agency=followed by your sign-in name, in their sign-in emails and on their dashboard. See Client sign-in. Dashboards on your own domain are coming soon.Custom domain
A custom domain puts client dashboards on an address you own, such as reports.youragency.com, instead of seentics.com.
Connect it now, serving comes soon
Use a subdomain
reports.youragency.com, analytics.youragency.com. Not your main site: most DNS providers can't put the record this needs (a CNAME) on a bare domain like youragency.com, and it would replace your website.Connect your domain
- Under Custom domain, enter the hostname — just the name, no
https://or path — and choose Add domain. - The workspace shows the DNS records to add. Always a CNAME, and sometimes a TXT record too:
| Type | Name | Value |
|---|---|---|
CNAME | reports.youragency.com | portal.seentics.com |
TXT | _cf-custom-hostname.reports.youragency.com | The value shown in the workspace (only if a TXT record is shown) |
- Add them at the company that runs your DNS — the steps for common providers are below. Use the copy buttons in the workspace so nothing is mistyped.
- Wait. The domain is checked automatically: every 15 seconds while the page is open, and in the background every 5 minutes for the first day, then hourly. Choose Check now to check straight away.
The domain goes through these states:
| State | In the API | Means |
|---|---|---|
| Waiting for DNS | pending_dns | The CNAME record has not been seen yet. |
| Issuing certificate | pending_certificate | DNS is right. The HTTPS certificate usually takes a few minutes. |
| Active | active | Connected, with a valid certificate. Keep the records in place. |
| Failed | failed | Something needs fixing — the reason is shown. Fix the records and check again, or remove the domain and start over. |
One domain per account. To change it, choose Remove, then add the new one. Removing a domain doesn't touch your branding.
DNS steps by provider
In these steps your domain is youragency.com and the hostname is reports.youragency.com. Most providers want only the part before your domain in the Name or Host field — reports, not the whole hostname.
Cloudflare
- Open your domain in the Cloudflare dashboard, then DNS → Records.
- Add record: type
CNAME, namereports, targetportal.seentics.com. - Turn the orange cloud off so Proxy status reads DNS only (grey cloud). Then Save.
- If a TXT record is shown: Add record, type
TXT, name_cf-custom-hostname.reports, content the value from the workspace, Save.
DNS only, not proxied
portal.seentics.com, so the domain can't be verified and stays in Waiting for DNS or fails.GoDaddy
- Sign in, open My Products, and choose DNS next to your domain.
- Add New Record: type
CNAME, namereports, valueportal.seentics.com, TTL the default. Save. - If a TXT record is shown: Add New Record, type
TXT, name_cf-custom-hostname.reports, value from the workspace. Save.
Namecheap
- Open Domain List, choose Manage next to your domain, then the Advanced DNS tab.
- Add New Record:
CNAME Record, hostreports, valueportal.seentics.com, TTLAutomatic. Save it with the tick. - If a TXT record is shown: Add New Record,
TXT Record, host_cf-custom-hostname.reports, value from the workspace. Save it.
Advanced DNS is there only while the domain uses Namecheap's own nameservers. If it uses another provider's, add the records there.
Any other provider
- Find the DNS settings for your domain (sometimes “DNS zone”, “DNS records” or “Name servers”).
- Add a
CNAMErecord with the namereports(or the full hostname, if the form asks for it) pointing toportal.seentics.com. - Add the TXT record if the workspace shows one.
- Save, then come back to the workspace and choose Check now.
Your registrar is not always your DNS provider. If changes there make no difference, look up which company your domain's nameservers belong to and add the records there.
Troubleshooting
Check what the world sees with a terminal, or any online DNS lookup tool:
dig +short CNAME reports.youragency.com
# should print: portal.seentics.com.- Still waiting after adding the record. DNS changes usually show within minutes, but can take a few hours (up to 48 at worst), depending on your provider and the record's TTL.
- An A or AAAA record on the same name. A name with a CNAME can't have any other record. Delete existing A, AAAA or other records for
reportsfirst. - Proxied record. On Cloudflare, or any provider with a proxy or “CDN” switch, set the CNAME to DNS only.
- Stuck at Issuing certificate, or failed for the certificate. If your domain has CAA records, they must allow the certificate authorities used for it: add CAA records for
letsencrypt.organdpki.goog, or remove the CAA records. - A bare domain. Use a subdomain. A few providers can put a CNAME on a bare domain (“CNAME flattening”), but most can't.
- “Another account already uses this hostname”. The hostname is connected to a different Seentics account. Remove it there first.
- Too many changes. You can add or replace a domain up to 10 times an hour.
From your own code
GET and PUT /api/v1/agency/branding read and save the white label; PUT /api/v1/agency/domain adds the domain and POST /api/v1/agency/domain/refresh checks it now. See the API reference.