# Project settings (/docs/getting-started/project-settings)

Open **Settings** in the sidebar. It has four tabs: **General**, **Products**, **Install** and **API keys & MCP**.

## Name and timezone [#name-and-timezone]

**Settings → General.** The timezone decides where hours, days, weeks and months start in every chart, and what "today" means. Changing it applies to all existing data right away.

## Project token [#project-token]

**Settings → General → Project token.** The token (`dh_…`) goes in your app. It can send events, evaluate feature flags and submit feedback, but it can't read any data.

**Rotate token** issues a new one, and requests with the old token stop working within a minute. Ship the new token first if you can't afford a gap.

## Anonymous ingest host [#anonymous-ingest-host]

**Settings → Install → Send events to** can switch your project to an anonymous host. It only accepts events and serves the unbranded script, and nothing on it names the product, so you can use it without setting up a domain of your own. A custom domain still takes priority once it's live.

## Custom domain [#custom-domain]

**Settings → General → Custom domain.** Serve the SDK, event collection and public dashboard links from your own domain, such as `analytics.yourcompany.com`. Data goes to a host that's clearly yours, and ad blockers that block known analytics hosts don't recognise it.

1. Enter a subdomain. A bare domain like `yourcompany.com` won't work.
2. At your DNS provider, add the record Datahop shows:

   | Type | Name | Value |
   | --- | --- | --- |
   | CNAME | `analytics.yourcompany.com` | `domains.datahop.dev` |

   Don't want Datahop to appear in your DNS? Use the picker above the record to switch to the neutral name. It's the same service, and nothing in your DNS mentions Datahop.

   On Cloudflare, set it to **DNS only** (grey cloud). Datahop issues the certificate.
3. Wait. Datahop checks the record every few seconds while the page is open, or click **Check now**. The status turns **active** a minute or two after the record appears.

Once it's active, the Install snippets, Copy Prompts and share links use your domain. The old host keeps working, so you can switch over at your own pace.

Your domain only serves what your app needs: the SDK, event collection and shared dashboards. Anything else on it, including the app, returns a plain "Not found", so the domain doesn't reveal what's behind it. The Install tab's **Script tag** snippet switches to an unbranded script, `/sdk/s.js`. The product name doesn't appear in the file, the browser global (`tracker` by default, or set your own with `data-global`) or the events it sends:

```html
<script src="https://analytics.yourcompany.com/sdk/s.js" data-global="tracker"></script>
<script>
  tracker.init('dh_your_project_token')
</script>
```

<Callout type="info" title="Country on custom domains">
  Browser events sent through a custom domain don't get a visitor country automatically. Set `$geoip_country_code` yourself if you need it.
</Callout>

## Products [#products]

**Settings → Products** switches whole products on or off for everyone in the project:

| Product | Can switch off | Notes |
| --- | --- | --- |
| Product analytics | No | Includes people, cohorts, groups and dashboards. |
| Web analytics | Yes | |
| Feature flags | Yes | Experiments need it. |
| Experiments | Yes | Needs Feature flags. |
| Feedback | Yes | Submissions are still accepted while it's off. |
| Alerts | Yes | Alerts stop checking while it's off. |
| Destinations | Yes | Nothing is forwarded while it's off. |

A product that's off disappears from the sidebar and from your agents' tools. **Events keep being collected**, so switching it back on shows the full history. With Feature flags off, every flag reads as unknown in your app, so your code takes its default path.

## Pageview autocapture [#pageview-autocapture]

The browser SDK captures pageviews by default. To turn it off, pass `autocapturePageviews: false` to `init`. See the [SDK reference](/docs/reference/sdk#browser).

## API keys [#api-keys]

**Settings → API keys & MCP** creates secret keys for agents and scripts. See [API keys](/docs/agents/api-keys).

## Your sidebar [#your-sidebar]

The sidebar is personal. Click the edit button next to the search box to:

- **star** pages to pin them under **Favourites**. Insights, dashboards, cohorts, flags, experiments, persons and groups also have a ★ on their own page.
- **reorder** favourites. Your first favourites become the tab bar on your phone.
- **hide** pages you don't use.

This only changes your own sidebar. To remove a product for everyone, use **Products**.

## Delete a project [#delete-a-project]

**Settings → General → Danger zone.** Type the project name to confirm. This deletes the project's insights, dashboards, cohorts, flags and experiments, and it can't be undone.
