Σύνδεσμος PostHog

Συνδέστε το PostHog με το Brevo μέσω Tajo για συγχρονισμό δεδομένων προϊοντικής ανάλυσης, εκδηλώσεων συμπεριφοράς χρηστών και συμμετοχών σε cohort για καμπάνιες marketing βάσει δεδομένων και εξατομικευμένη αφοσίωση πελατών.

Επισκόπηση

ΙδιότηταΤιμή
ΠλατφόρμαPostHog
ΚατηγορίαΠροϊοντική Ανάλυση (Προσαρμοσμένο)
Πολυπλοκότητα ΡύθμισηςΜεσαία
Επίσημη ΕνσωμάτωσηΌχι
Δεδομένα που ΣυγχρονίζονταιΕκδηλώσεις, Άτομα, Feature Flags, Cohorts
Μέθοδος ΠιστοποίησηςPersonal API Key / Project Token

Χαρακτηριστικά

  • Συγχρονισμός εκδηλώσεων - Προώθηση εκδηλώσεων ανάλυσης PostHog στο Brevo για στόχευση βάσει συμπεριφοράς
  • Συγχρονισμός προφίλ ατόμου - Συγχρονισμός ιδιοτήτων ατόμων PostHog σε χαρακτηριστικά επαφών Brevo
  • Τμηματοποίηση βάσει cohort - Αντιστοίχιση cohorts PostHog σε λίστες επαφών Brevo
  • Συγχρονισμός feature flag - Τμηματοποίηση επαφών βάσει ενεργοποιημένων feature flags
  • Δεδομένα χωνιού - Χρήση δεδομένων χωνιού μετατροπής για στοχευμένη επανα-αφοσίωση
  • Μεταδεδομένα αναπαραγωγής συνεδρίας - Εμπλουτισμός επαφών με μετρικές αφοσίωσης συνεδρίας

Προαπαιτούμενα

Πριν ξεκινήσετε, βεβαιωθείτε ότι διαθέτετε:

  1. Λογαριασμό PostHog (Cloud ή self-hosted)
  2. Personal API Key από τις Ρυθμίσεις PostHog
  3. Κλειδί Project API (token) από τις Ρυθμίσεις Project
  4. Λογαριασμό Brevo με πρόσβαση API
  5. Λογαριασμό Tajo με δικαιώματα συνδέσμου

Πιστοποίηση

Personal API Key (Ιδιωτικά Endpoints)

Terminal window
# Generate at 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
// Private API endpoints use Bearer authentication
const headers = {
'Authorization': `Bearer ${process.env.POSTHOG_PERSONAL_API_KEY}`,
'Content-Type': 'application/json'
};
// Public endpoints use the project token
const publicHeaders = {
'Content-Type': 'application/json'
};
// Token is passed in the request body for public endpoints

Ασφάλεια Κλειδιού API

Τα Personal API keys παρέχουν πλήρη πρόσβαση λογαριασμού. Μην τα εκθέτετε ποτέ σε κώδικα πλευράς client. Χρησιμοποιήστε το Project API Key (token) για δημόσια endpoints όπως καταγραφή εκδηλώσεων και αξιολόγηση feature flag.

Διαμόρφωση

Βασική Ρύθμιση

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

Αντιστοίχιση Πεδίων

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

Endpoints API

EndpointΜέθοδοςΠεριγραφή
{host}/api/projects/{id}/persons/GETΛίστα ατόμων
{host}/api/projects/{id}/events/GETΛίστα εκδηλώσεων
{host}/api/projects/{id}/cohorts/GETΛίστα cohorts
{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
{host}/i/v0/ePOSTΚαταγραφή εκδηλώσεων (δημόσιο)
{host}/decide/?v=3POSTΑποφάσεις feature flag (δημόσιο)

Παραδείγματα Κώδικα

Αρχικοποίηση Συνδέσμου

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'
});

Συγχρονισμός Ατόμων στο Brevo

// Paginate through 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;
}

Συγχρονισμός Cohorts ως Λίστες Brevo

// Get PostHog cohorts and sync members to Brevo lists
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) {
// Get persons in this cohort
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 για Ανάλυση

// Use HogQL to query analytics data
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]
}
});
}

Όρια Ρυθμού

Κατηγορία EndpointΌριοΣημειώσεις
Analytics endpoints240/λεπτό, 1.200/ώραGET persons, events, insights
Query endpoint2.400/ώραΕρωτήματα HogQL και προσαρμοσμένα
Αξιολόγηση feature flag600/λεπτόEndpoint τοπικής αξιολόγησης
CRUD endpoints480/λεπτό, 4.800/ώραΛειτουργίες δημιουργίας, ενημέρωσης, διαγραφής
Δημόσια endpoints (καταγραφή)ΑπεριόριστοΚαταγραφή εκδηλώσεων, αποφάσεις flag

Batch Exports

Για εξαγωγές δεδομένων εκδηλώσεων μεγάλης κλίμακας, χρησιμοποιήστε τη λειτουργία batch exports του PostHog αντί για το API. Τα batch exports υποστηρίζουν S3, BigQuery, Snowflake και άλλους προορισμούς.

Αντιμετώπιση Προβλημάτων

ΠρόβλημαΑιτίαΛύση
401 UnauthorizedΜη έγκυρο API keyΕπαληθεύστε το Personal API Key στις ρυθμίσεις
400 Invalid projectΛανθασμένο project IDΕλέγξτε το project ID στο URL PostHog
Κενή λίστα ατόμωνΔεν υπάρχουν αναγνωρισμένοι χρήστεςΒεβαιωθείτε ότι καλείται posthog.identify()
Λείπουν ιδιότητεςΟι ιδιότητες δεν έχουν οριστείΕπαληθεύστε τις κλήσεις $set στο client SDK
Όριο ρυθμού 429Υπερβολικά πολλά αιτήματαΕφαρμόστε backoff, ελέγξτε headers ορίου ρυθμού

Λειτουργία Εντοπισμού Σφαλμάτων

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

Βέλτιστες Πρακτικές

  1. Αναγνωρίστε χρήστες - Καλείτε πάντα posthog.identify() με email για ενεργοποίηση συγχρονισμού ατόμων
  2. Χρησιμοποιήστε cohorts για τμηματοποίηση - Αξιοποιήστε τα συμπεριφορικά cohorts PostHog για λίστες Brevo
  3. Ομαδοποιήστε αιτήματα API - Χρησιμοποιήστε σελιδοποίηση και ομαδική επεξεργασία για μεγάλα σύνολα δεδομένων
  4. Χρησιμοποιήστε HogQL για σύνθετα ερωτήματα - Εξάγετε προσαρμοσμένες αναλύσεις με ερωτήματα τύπου SQL
  5. Ρυθμίστε batch exports - Για μεγάλους όγκους δεδομένων, προτιμήστε batch exports έναντι polling API
  6. Φιλτράρετε σχετικές εκδηλώσεις - Συγχρονίστε μόνο εκδηλώσεις σχετικές με marketing για μείωση θορύβου

Ασφάλεια

  • Personal API Key - Πιστοποίηση Bearer token με εύρος
  • Project token - Δημόσιο token μόνο για λειτουργίες πλευράς client
  • Μόνο HTTPS - Όλα τα endpoints απαιτούν κρυπτογράφηση TLS
  • Allowlisting IP - Διαθέσιμο για self-hosted instances
  • Εύρος κλειδιών - Δημιουργία κλειδιών API με συγκεκριμένα εύρη δικαιωμάτων
  • Σάρωση μυστικών GitHub - Το PostHog συνεργάζεται με GitHub για ανίχνευση διαρροών κλειδιών

Σχετικοί Πόροι

Subscribe to updates

developer-docs

Drop your email or phone number — we'll send you what matters next.

auto-detect
AI Βοηθός

Γεια! Ρωτήστε με οτιδήποτε για την τεκμηρίωση.