# Validating Installation

# Validating Installation

After installing Intempt on your website, app, or server, you should verify that events are being sent correctly to Intempt’s ingestion layer.

Intempt processes events in real time, so validation can usually be completed **within seconds** of triggering actions in your product.

---

## Real-Time Event Availability

Intempt is designed for real-time ingestion and analysis.

When an event is triggered from your implementation:

- It reaches Intempt’s ingestion layer within seconds  
- It becomes available for querying almost immediately  
- It appears in the **Live Data Feed** inside your project  

This real-time behavior is powered by ClickHouse, which stores:

- Recent events in a fast row-oriented format  
- Historical events in a time-partitioned columnar format  

---

## What the Live Data Feed Shows

The **Live Data Feed** is the fastest way to confirm that your installation is working.

To validate:

1. Trigger an action in your product (page load, click, form submission, API call, etc.)
2. Open your Intempt project
3. Navigate to **Live Data Feed**
4. Confirm that new events appear in real time

If events appear here, Intempt is receiving data correctly.

---

## Live Data Feed — Example Events

Below are examples of event payloads you may see in the Live Data Feed.

### Example 1: A “Purchase” event (Track API style)

```json
{
  "eventId": "generated-event-id",
  "profileId": "generated-profile-id",
  "userId": "custom@intempt.com",
  "timestamp": 1714631904000,
  "accountId": "Intempt",
  "sessionId": "generated-session-id",
  "pageId": "generated-page-id",
  "anotherUserId": "+111111111",
  "anotherAccountId": "no-reply@intempt.com",
  "data": {
    "amount": 150,
    "productName": "Wine",
    "quantity": 4,
    "locationLatitude": 51.509865
  },
  "userAttributes": {
    "location": "USA"
  },
  "accountAttributes": {
    "founded": 2000
  }
}
````

This confirms:

* Intempt is receiving event payloads
* Identifiers (`eventId`, `profileId`, `sessionId`, `pageId`) are present
* `data`, `userAttributes`, and `accountAttributes` are ingested correctly

---

### Example 2: A minimal event (useful for quick testing)

```json
{
  "eventId": "generated-event-id",
  "userId": "user-id",
  "timestamp": 1714631904000,
  "sessionId": "generated-session-id",
  "data": {
    "action": "test_event"
  }
}
```

This confirms:

* Your pipeline is connected
* Intempt can receive and display events even with minimal payload data

---

## What to Check During Validation

When reviewing events in the Live Data Feed, verify that:

* The event appears immediately after you trigger it
* `timestamp` matches when the action happened
* `profileId` and `sessionId` exist and stay consistent across related events
* `data` contains the values you intended to send
* `userAttributes` and `accountAttributes` appear when you send them

If these conditions are met, your installation is working correctly.

---

## How Intempt Receives Your Data

Intempt supports multiple ingestion methods:

* JavaScript SDK for websites
* iOS SDK and Android SDK for mobile apps
* Node.js SDK or REST API for server-side tracking

All sources feed into the same ingestion pipeline and appear in the same Live Data Feed.

---

## Summary

To validate your installation:

* Trigger real actions in your product
* Open the Live Data Feed
* Confirm events appear immediately
* Inspect identifiers and payload fields (`data`, `userAttributes`, `accountAttributes`)

Once events are visible and structured correctly, your Intempt installation is complete and ready for analytics, journeys, and experimentation.
