> For the complete documentation index, see [llms.txt](https://doc.batch.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.batch.com/developer/sdk/web/profile-data/debug.md).

# Testing your integration

Batch provides a simple [**debug tool**](https://github.com/BatchLabs/product.tech-documentation-gitbook/tree/master/dashboard/settings/app-settings/README.md#integration-debug-tool) that allows you to test your custom data integration (⚙ Settings → Debug). It shows all the data available for a specific user ID:

* **Token**: Find the token of a specific device.
* **Custom user ID**: Check if your [custom user ID implementation](https://github.com/BatchLabs/product.tech-documentation-gitbook/tree/master/web/custom-data/customid/README.md) is working correctly.
* **Native attributes**: See the installation date, last session date, country and more information on a specific user / install.
* **Custom data**: See if your app is tagged properly and if custom attributes/events are sent to Batch.

![Debug tool](https://38998153-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FCL8wF0y1T2vLnm3yR2MW%2Fuploads%2F43KwdZVFMXzv6P64knBX%2Fdashboard_web_debug_screenshot.png?alt=media\&token=86ab52bf-535c-4531-89a6-8036a87c97d1)

### Finding your ID

**Installation ID**

You can find the Installation ID of a device by calling:

```javascript
batchSDK(api => {api.getInstallationID().then(function(id) {console.log(id);})});
```

This example directly prints it to your browser's debug console.

> Tip: In development mode, Batch already prints the installation ID to the console!

### Understanding the results

The results displayed in the debug tool are updated in real time. There are five different pieces of information shown for a single ID:

* Basic information *(token, install ID, custom user ID, etc)*.
* [Custom user attributes](https://github.com/BatchLabs/product.tech-documentation-gitbook/tree/master/api/custom-data-api/set-update/README.md) prefixed with `u.` *(c.attribute\_name)*.
* [Custom user tag collections](https://github.com/BatchLabs/product.tech-documentation-gitbook/tree/master/api/custom-data-api/set-update/README.md) prefixed with `ut.` *(c.tag\_collection\_name)*.

Here are some details on the native attributes you will find in the results:

* `b.city_code`: City detected by Batch using IP geolocation.
* `b.install_date`: First user visit on your website *(UTC/GMT)*. Can be reset if the user clears their browser's data.
* `b.language`: Language of your user.
* `b.last_push_date`: Date of the last sent notification from the dashboard or the Campaigns API *(UTC/GMT)*.
* `b.last_visit_date`: Date of the last session *(UTC/GMT)*.
* `b.region`: Country of your user.
* `b.is_push_optin`: True if the install is opt-in to push, meaning that it can receive and display push notifications


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://doc.batch.com/developer/sdk/web/profile-data/debug.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
