---
title: "PostHog کنیکٹر"
description: "Tajo کے ذریعے Brevo کے ساتھ پروڈکٹ اینالیٹکس، feature flags، اور صارف کے رویے کے ڈیٹا کو سنک کرنے کے لیے مکمل PostHog انٹیگریشن گائیڈ۔"
url: https://tajo.io/ur/docs/connectors/custom/posthog/
markdown: https://tajo.io/ur/docs/connectors/custom/posthog.md
lang: ur-PK
robots: noindex
---

ابتدائی رسائی کی درخواست کریں

اپنا پہلا نام اور دفتری ای میل پتہ درج کریں۔ ہم Tajo تک رسائی کی درخواست کی تصدیق کے لیے ایک لنک ای میل کریں گے۔

# PostHog کنیکٹر

کنیکٹر کی حیثیت: منصوبہ بند ابھی تیار نہیں ہوا۔ Tajo آج یہ کنیکٹر نہیں چلاتا۔

| ماخذ فیلڈ | منزل فیلڈ | نمونہ قدر |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

ڈیٹا سے چلنے والی مارکیٹنگ مہمات اور ذاتی کسٹمر انگیجمنٹ کے لیے پروڈکٹ اینالیٹکس ڈیٹا، صارف کے رویے کے ایونٹس، اور کوہارٹ ممبرشپس سنک کرنے کے لیے PostHog کو Tajo کے ذریعے Brevo سے منسلک کریں۔

## جائزہ

| خاصیت | قدر |
| --- | --- |
| **پلیٹ فارم** | PostHog |
| **زمرہ** | پروڈکٹ اینالیٹکس (حسب ضرورت) |
| **سیٹ اپ کی پیچیدگی** | معتدل |
| **آفیشل انٹیگریشن** | نہیں |
| **سنک شدہ ڈیٹا** | ایونٹس، Persons، Feature Flags، کوہارٹس |
| **توثیقی طریقہ** | Personal API Key / Project Token |

## خصوصیات

- **ایونٹ سنک** - رویّاتی ہدف بنانے کے لیے PostHog اینالیٹکس ایونٹس کو Brevo کو آگے بھیجیں
- **Person پروفائل سنک** - PostHog person خصوصیات کو Brevo رابطہ خصوصیات سے سنک کریں
- **کوہارٹ پر مبنی سیگمنٹیشن** - PostHog کوہارٹس کو Brevo رابطہ فہرستوں سے میپ کریں
- **Feature flag سنک** - فعال feature flags کے ذریعے رابطوں کو سیگمنٹ کریں
- **فنل ڈیٹا** - ہدف بنائی گئی ری-انگیجمنٹ کے لیے conversion فنل ڈیٹا کا استعمال کریں
- **Session replay میٹا ڈیٹا** - session engagement میٹرکس کے ساتھ رابطوں کو بہتر بنائیں

## ضروریات

شروع کرنے سے پہلے، یقینی بنائیں کہ آپ کے پاس ہے:

1. PostHog اکاؤنٹ (Cloud یا self-hosted)
2. [PostHog Settings](https://app.posthog.com/settings/user-api-keys) سے Personal API Key
3. [Project Settings](https://app.posthog.com/project/settings) سے آپ کا Project API Key (token)
4. API رسائی کے ساتھ Brevo اکاؤنٹ
5. کنیکٹر اجازتوں کے ساتھ Tajo اکاؤنٹ

## توثیق

### Personal API Key (پرائیویٹ اینڈ پوائنٹس)

```bash
# https://app.posthog.com/settings/user-api-keys پر تخلیق کریں
export POSTHOG_PERSONAL_API_KEY=phx_your_personal_api_key
export POSTHOG_PROJECT_TOKEN=phc_your_project_token
export POSTHOG_HOST=https://us.posthog.com  # or https://eu.posthog.com
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key
```

```javascript
// پرائیویٹ API اینڈ پوائنٹس Bearer توثیق استعمال کرتے ہیں
const headers = {
  'Authorization': `Bearer ${process.env.POSTHOG_PERSONAL_API_KEY}`,
  'Content-Type': 'application/json'
};

// عوامی اینڈ پوائنٹس project token استعمال کرتے ہیں
const publicHeaders = {
  'Content-Type': 'application/json'
};
// عوامی اینڈ پوائنٹس کے لیے ٹوکن درخواست کے مواد میں پاس کیا جاتا ہے
```

API Key سیکیورٹی

Personal API keys مکمل اکاؤنٹ رسائی فراہم کرتے ہیں۔ انہیں کبھی کلائنٹ سائیڈ کوڈ میں ظاہر نہ کریں۔ عوامی اینڈ پوائنٹس جیسے event capture اور feature flag evaluation کے لیے Project API Key (token) استعمال کریں۔

## کنفیگریشن

### بنیادی سیٹ اپ

```yaml
connectors:
  posthog:
    enabled: true
    host: "${POSTHOG_HOST}"
    personal_api_key: "${POSTHOG_PERSONAL_API_KEY}"
    project_token: "${POSTHOG_PROJECT_TOKEN}"
    project_id: "12345"

    sync:
      persons: true
      events: true
      cohorts: true
      feature_flags: true
      schedule: "0 */3 * * *"  # Every 3 hours

    event_filters:
      - "$pageview"
      - "purchase_completed"
      - "signup_completed"
      - "feature_used"

    lists:
      all_users: 25
      active_users: 26
      power_users: 27
```

### فیلڈ میپنگ

```yaml
field_mapping:
  email: email
  $name: FIRSTNAME
  $browser: BROWSER
  $os: OS
  $initial_referrer: REFERRAL_SOURCE
  total_events: EVENT_COUNT
  last_seen: LAST_ACTIVE_DATE
  signup_date: SIGNUP_DATE
  plan: SUBSCRIPTION_PLAN
  company: COMPANY
  cohort_names: POSTHOG_COHORTS
```

## API اینڈ پوائنٹس

| اینڈ پوائنٹ | طریقہ | تفصیل |
| --- | --- | --- |
| `{host}/api/projects/{id}/persons/` | GET | persons کی فہرست |
| `{host}/api/projects/{id}/events/` | GET | ایونٹس کی فہرست |
| `{host}/api/projects/{id}/cohorts/` | GET | کوہارٹس کی فہرست |
| `{host}/api/projects/{id}/feature_flags/` | GET | feature flags کی فہرست |
| `{host}/api/projects/{id}/feature_flags/evaluation/` | POST | flags کا جائزہ لیں |
| `{host}/api/projects/{id}/insights/` | GET | محفوظ insights کی فہرست |
| `{host}/api/projects/{id}/query/` | POST | HogQL queries چلائیں |
| `{host}/i/v0/e` | POST | ایونٹس capture کریں (عوامی) |
| `{host}/decide/?v=3` | POST | Feature flag فیصلے (عوامی) |

## کوڈ مثالیں

### کنیکٹر کو شروع کریں

```javascript
import { TajoClient } from '@tajo/sdk';

const tajo = new TajoClient({
  apiKey: process.env.TAJO_API_KEY,
  brevoApiKey: process.env.BREVO_API_KEY
});

await tajo.connectors.connect('posthog', {
  host: process.env.POSTHOG_HOST,
  personalApiKey: process.env.POSTHOG_PERSONAL_API_KEY,
  projectToken: process.env.POSTHOG_PROJECT_TOKEN,
  projectId: '12345'
});
```

### Persons کو Brevo سے سنک کریں

```javascript
// PostHog persons کے ذریعے پیجینیٹ کریں
let nextUrl = `${posthogHost}/api/projects/${projectId}/persons/?` +
  new URLSearchParams({ limit: '100' });

while (nextUrl) {
  const response = await fetch(nextUrl, {
    headers: {
      'Authorization': `Bearer ${process.env.POSTHOG_PERSONAL_API_KEY}`
    }
  });

  const data = await response.json();

  for (const person of data.results) {
    const email = person.properties.$email || person.properties.email;
    if (!email) continue;

    await tajo.contacts.sync({
      email,
      attributes: {
        FIRSTNAME: person.properties.$name || person.properties.name,
        LAST_ACTIVE_DATE: person.properties.$last_seen,
        SIGNUP_DATE: person.created_at,
        EVENT_COUNT: person.properties.$event_count,
        BROWSER: person.properties.$browser,
        OS: person.properties.$os,
        REFERRAL_SOURCE: person.properties.$initial_referrer
      },
      listIds: [25]
    });
  }

  nextUrl = data.next;
}
```

### کوہارٹس کو Brevo فہرستوں کے طور پر سنک کریں

```javascript
// PostHog کوہارٹس حاصل کریں اور ممبران کو Brevo فہرستوں سے سنک کریں
const cohortsResponse = await fetch(
  `${posthogHost}/api/projects/${projectId}/cohorts/`,
  {
    headers: {
      'Authorization': `Bearer ${process.env.POSTHOG_PERSONAL_API_KEY}`
    }
  }
);

const { results: cohorts } = await cohortsResponse.json();

for (const cohort of cohorts) {
  // اس کوہارٹ میں persons حاصل کریں
  const personsResponse = await fetch(
    `${posthogHost}/api/projects/${projectId}/cohorts/${cohort.id}/persons/`,
    {
      headers: {
        'Authorization': `Bearer ${process.env.POSTHOG_PERSONAL_API_KEY}`
      }
    }
  );

  const { results: persons } = await personsResponse.json();

  for (const person of persons) {
    const email = person.properties.$email || person.properties.email;
    if (email) {
      await tajo.contacts.update(email, {
        attributes: {
          POSTHOG_COHORTS: cohort.name
        }
      });
    }
  }
}
```

### اینالیٹکس کے لیے HogQL Queries چلائیں

```javascript
// اینالیٹکس ڈیٹا کی استفسار کے لیے HogQL استعمال کریں
const queryResponse = await fetch(
  `${posthogHost}/api/projects/${projectId}/query/`,
  {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${process.env.POSTHOG_PERSONAL_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      query: {
        kind: 'HogQLQuery',
        query: `
          SELECT
            properties.$email AS email,
            count() AS event_count,
            max(timestamp) AS last_event
          FROM events
          WHERE event = 'purchase_completed'
            AND timestamp > now() - interval 30 day
          GROUP BY email
          HAVING event_count > 3
          ORDER BY event_count DESC
          LIMIT 1000
        `
      }
    })
  }
);

const queryResult = await queryResponse.json();

for (const row of queryResult.results) {
  await tajo.contacts.update(row[0], {
    attributes: {
      PURCHASE_COUNT_30D: row[1],
      LAST_PURCHASE: row[2]
    }
  });
}
```

## ریٹ کی حدود

| اینڈ پوائنٹ کا زمرہ | حد | نوٹس |
| --- | --- | --- |
| اینالیٹکس اینڈ پوائنٹس | 240/منٹ، 1,200/گھنٹہ | GET persons، ایونٹس، insights |
| Query اینڈ پوائنٹ | 2,400/گھنٹہ | HogQL اور حسب ضرورت queries |
| Feature flag evaluation | 600/منٹ | Local evaluation اینڈ پوائنٹ |
| CRUD اینڈ پوائنٹس | 480/منٹ، 4,800/گھنٹہ | Create، update، delete operations |
| عوامی اینڈ پوائنٹس (capture) | لامحدود | Event capture، flag فیصلے |

Batch Exports

بڑے پیمانے پر ایونٹ ڈیٹا exports کے لیے، API کے بجائے PostHog کی batch exports خصوصیت استعمال کریں۔ Batch exports S3، BigQuery، Snowflake، اور دیگر منزلوں کی حمایت کرتے ہیں۔

## مسائل کا سراغ

| مسئلہ | وجہ | حل |
| --- | --- | --- |
| 401 Unauthorized | غیر معتبر API key | سیٹنگز میں Personal API Key کی تصدیق کریں |
| 400 Invalid project | غلط project ID | PostHog URL میں project ID چیک کریں |
| خالی persons فہرست | کوئی شناخت شدہ صارفین نہیں | یقینی بنائیں کہ `posthog.identify()` کال کیا گیا ہے |
| خصوصیات غائب | خصوصیات سیٹ نہیں | کلائنٹ SDK میں `$set` کالز کی تصدیق کریں |
| ریٹ کی حد 429 | بہت زیادہ درخواستیں | بیک آف نافذ کریں، ریٹ کی حد کے ہیڈرز چیک کریں |

### ڈیبگ موڈ

```yaml
connectors:
  posthog:
    debug: true
    log_level: verbose
    log_queries: true
    log_sync: true
```

## بہترین طریقے

1. **صارفین کی شناخت کریں** - person سنک فعال کرنے کے لیے ہمیشہ ای میل کے ساتھ `posthog.identify()` کال کریں
2. **سیگمنٹیشن کے لیے کوہارٹس استعمال کریں** - Brevo فہرستوں کے لیے PostHog کے رویّاتی کوہارٹس کا فائدہ اٹھائیں
3. **API درخواستوں کو بیچ کریں** - بڑے ڈیٹا سیٹس کے لیے پیجینیشن اور بیچ پروسیسنگ کا استعمال کریں
4. **پیچیدہ queries کے لیے HogQL استعمال کریں** - SQL جیسی queries کے ساتھ حسب ضرورت اینالیٹکس نکالیں
5. **Batch exports سیٹ اپ کریں** - بڑے ڈیٹا volumes کے لیے، API پولنگ پر batch exports کو ترجیح دیں
6. **متعلقہ ایونٹس فلٹر کریں** - شور کم کرنے کے لیے صرف مارکیٹنگ سے متعلق ایونٹس سنک کریں

## سیکیورٹی

- **Personal API Key** - محدود Bearer token توثیق
- **Project token** - صرف کلائنٹ سائیڈ آپریشنز کے لیے عوامی ٹوکن
- **صرف HTTPS** - تمام اینڈ پوائنٹس کو TLS encryption کی ضرورت ہوتی ہے
- **IP allowlisting** - self-hosted instances کے لیے دستیاب
- **Key محدود کرنا** - مخصوص اجازت اسکوپس کے ساتھ API keys بنائیں
- **GitHub secret scanning** - PostHog leaked key کا پتہ لگانے کے لیے GitHub کے ساتھ شراکت کرتا ہے

## متعلقہ وسائل

- [Optimizely کنیکٹر](https://tajo.io/ur/docs/connectors/custom/optimizely)
- [Segment کنیکٹر](https://tajo.io/ur/docs/connectors/custom/segment)
- [Snowflake کنیکٹر](https://tajo.io/ur/docs/connectors/custom/snowflake)
- [PostHog API Documentation](https://posthog.com/docs/api)
