PostHog konnektor

Csatlakoztasd a PostHogot a Brevóhoz a Tajo segítségével, hogy szinkronizáld a termékanalitikai adatokat, felhasználói viselkedési eseményeket és kohort-tagságokat az adatvezérelt marketingkampányokhoz és személyre szabott ügyfél-elköteleződéshez.

Áttekintés

TulajdonságÉrték
PlatformPostHog
KategóriaTermékanalitika (Egyéni)
Telepítés bonyolultságaKözepes
Hivatalos integrációNem
Szinkronizált adatokEsemények, Személyek, Funkciójelzők, Kohortok
Hitelesítési módszerSzemélyes API kulcs / Projekt token

Funkciók

  • Esemény-szinkronizáció – PostHog analitikai események továbbítása a Brevóba viselkedésbeli célzáshoz
  • Személy profil-szinkronizáció – PostHog személy-tulajdonságok szinkronizálása Brevo kapcsolat-attribútumokhoz
  • Kohort alapú szegmentálás – PostHog kohortok leképezése Brevo kapcsolatlistákhoz
  • Funkciójelző-szinkronizáció – Kapcsolatok szegmentálása engedélyezett funkciójelzők alapján
  • Tölcsér-adatok – Konverziós tölcsér-adatok használata célzott újrabekapcsoláshoz
  • Munkamenet-visszajátszás metaadatok – Kapcsolatok gazdagítása munkamenet-elköteleződési mutatókkal

Előfeltételek

Mielőtt elkezdenéd, győződj meg róla, hogy rendelkezel:

  1. Egy PostHog fiókkal (felhőalapú vagy saját üzemeltetésű)
  2. Egy személyes API kulccsal a PostHog Beállításokból
  3. A Projekt API kulcsoddal (tokennel) a Projekt beállításokból
  4. Egy Brevo fiókkal API-hozzáféréssel
  5. Egy Tajo fiókkal konnektor engedélyekkel

Hitelesítés

Személyes API kulcs (privát végpontok)

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 kulcs biztonság

A személyes API kulcsok teljes fiók-hozzáférést biztosítanak. Soha ne tedd ki ezeket kliens oldali kódban. Az ügyfél oldali műveletekhez, mint az esemény rögzítés és funkciójelző kiértékelés, a Projekt API kulcsot (tokent) használd.

Konfiguráció

Alapbeállítás

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

Mezőleképezés

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 végpontok

VégpontMódszerLeírás
{host}/api/projects/{id}/persons/GETSzemélyek listázása
{host}/api/projects/{id}/events/GETEsemények listázása
{host}/api/projects/{id}/cohorts/GETKohortok listázása
{host}/api/projects/{id}/feature_flags/GETFunkciójelzők listázása
{host}/api/projects/{id}/feature_flags/evaluation/POSTJelzők kiértékelése
{host}/api/projects/{id}/insights/GETMentett insightok listázása
{host}/api/projects/{id}/query/POSTHogQL lekérdezések futtatása
{host}/i/v0/ePOSTEsemények rögzítése (nyilvános)
{host}/decide/?v=3POSTFunkciójelző döntések (nyilvános)

Kódpéldák

A konnektor inicializálása

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

Személyek szinkronizálása a Brevóba

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

Kohortok szinkronizálása Brevo listákba

// 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 lekérdezések futtatása analitikához

// 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]
}
});
}

Ráta-korlátok

Végpont kategóriaKorlátMegjegyzések
Analitikai végpontok240/perc, 1 200/óraGET személyek, események, insightok
Lekérdező végpont2 400/óraHogQL és egyéni lekérdezések
Funkciójelző kiértékelés600/percHelyi kiértékelési végpont
CRUD végpontok480/perc, 4 800/óraLétrehozás, frissítés, törlés műveletek
Nyilvános végpontok (rögzítés)KorlátlanEseményrögzítés, jelződöntések

Kötegelt exportálás

Nagyméretű esemény-adatexportáláshoz az API helyett használd a PostHog kötegelt exportálási funkcióját. A kötegelt exportálás S3-t, BigQueryt, Snowflake-t és más célállomásokat támogat.

Hibaelhárítás

ProblémaOkMegoldás
401 UnauthorizedÉrvénytelen API kulcsEllenőrizd a személyes API kulcsot a beállításokban
400 Invalid projectRossz projekt azonosítóEllenőrizd a projekt azonosítót a PostHog URL-ben
Üres személylistaNincsenek azonosított felhasználókGyőződj meg róla, hogy a posthog.identify() meghívásra kerül
Hiányzó tulajdonságokTulajdonságok nincsenek beállítvaEllenőrizd a $set hívásokat a kliens SDK-ban
Ráta-korlát 429Túl sok kérésImplementálj visszalépést, ellenőrizd a ráta-korlát fejléceket

Hibakeresési mód

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

Legjobb gyakorlatok

  1. Azonosítsd a felhasználókat – Mindig hívd meg a posthog.identify() metódust e-maillel a személy-szinkronizálás engedélyezéséhez
  2. Kohortokat használj szegmentáláshoz – Használd ki a PostHog viselkedésbeli kohortjait a Brevo listákhoz
  3. Kötegelj API kéréseket – Használj oldalazást és kötegelt feldolgozást nagyobb adatkészletekhez
  4. Használj HogQL-t összetett lekérdezésekhez – Egyéni analitikát SQL-szerű lekérdezésekkel nyerhetsz ki
  5. Állíts be kötegelt exportálásokat – Nagy adatmennyiségekhez az API lekérdezés helyett a kötegelt exportálást részesítsd előnyben
  6. Szűrj releváns eseményekre – Csak marketingrelevans eseményeket szinkronizálj a zaj csökkentéséhez

Biztonság

  • Személyes API kulcs – Hatókörrel korlátozott Bearer token hitelesítés
  • Projekt token – Nyilvános token csak ügyfél oldali műveletekhez
  • Csak HTTPS – Minden végpont TLS titkosítást igényel
  • IP engedélyezési lista – Saját üzemeltetésű példányokhoz elérhető
  • Kulcs hatókör-korlátozás – Hozz létre API kulcsokat adott engedély-hatókörökkel
  • GitHub titokszkenner – A PostHog együttműködik a GitHubbal a kiszivárgott kulcsok felderítéséhez

Kapcsolódó források

Subscribe to updates

developer-docs

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

auto-detect
AI asszisztens

Szia! Kérdezz bármit a dokumentációról.