PostHog Konektor

Povežite PostHog s Brevom putem Taja kako biste sinkronizirali podatke o analitici proizvoda, korisničke bihevioralne događaje i članstva u kohortama za marketinške kampanje temeljene na podacima i personalizirani angažman klijenata.

Pregled

SvojstvoVrijednost
PlatformaPostHog
KategorijaAnalitika proizvoda (Prilagođeno)
Složenost postavljanjaSrednje
Službena integracijaNe
Sinkronizirani podaciDogađaji, Osobe, Feature zastavice, Kohorte
Metoda autentifikacijePersonal API Key / Project Token

Značajke

  • Sinkronizacija događaja - Prosljeđujte PostHog analitičke događaje u Brevo za bihevioralno ciljanje
  • Sinkronizacija profila osoba - Sinkronizirajte PostHog svojstva osoba na Brevo atribute kontakata
  • Segmentacija temeljena na kohortama - Mapirajte PostHog kohorte na Brevo popise kontakata
  • Sinkronizacija feature zastavica - Segmentirajte kontakte prema omogućenim feature zastavicama
  • Podaci o lijevcima - Koristite podatke o konverzijskim lijevcima za ciljani ponovni angažman
  • Metapodaci snimke sesije - Obogatite kontakte metrikama angažmana sesije

Preduvjeti

Prije nego što počnete, osigurajte da imate:

  1. PostHog račun (Cloud ili samo-hostovan)
  2. Personal API Key iz PostHog Postavke
  3. Vaš Project API Key (token) iz Postavke projekta
  4. Brevo račun s API pristupom
  5. Tajo račun s dozvolama konektora

Autentifikacija

Personal API Key (Privatne krajnje točke)

Terminal window
# Generirajte na 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 # ili https://eu.posthog.com
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key
// Privatne API krajnje točke koriste Bearer autentifikaciju
const headers = {
'Authorization': `Bearer ${process.env.POSTHOG_PERSONAL_API_KEY}`,
'Content-Type': 'application/json'
};
// Javne krajnje točke koriste project token
const publicHeaders = {
'Content-Type': 'application/json'
};
// Token se prosljeđuje u tijelu zahtjeva za javne krajnje točke

Sigurnost API ključa

Personal API ključevi pružaju potpuni pristup računu. Nikada ih ne izlažite u kodu na strani klijenta. Koristite Project API Key (token) za javne krajnje točke poput hvatanja događaja i evaluacije feature zastavica.

Konfiguracija

Osnovna konfiguracija

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 * * *" # Svakih 3 sata
event_filters:
- "$pageview"
- "purchase_completed"
- "signup_completed"
- "feature_used"
lists:
all_users: 25
active_users: 26
power_users: 27

Mapiranje polja

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 krajnje točke

Krajnja točkaMetodaOpis
{host}/api/projects/{id}/persons/GETPopis osoba
{host}/api/projects/{id}/events/GETPopis događaja
{host}/api/projects/{id}/cohorts/GETPopis kohorti
{host}/api/projects/{id}/feature_flags/GETPopis feature zastavica
{host}/api/projects/{id}/feature_flags/evaluation/POSTEvaluacija zastavica
{host}/api/projects/{id}/insights/GETPopis pohranjenih uvida
{host}/api/projects/{id}/query/POSTPokretanje HogQL upita
{host}/i/v0/ePOSTHvatanje događaja (javno)
{host}/decide/?v=3POSTOdluke feature zastavica (javno)

Primjeri koda

Inicijalizacija konektora

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

Sinkronizacija osoba s Brevom

// Paginacija kroz PostHog osobe
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;
}

Sinkronizacija kohorti kao Brevo popisa

// Dohvaćanje PostHog kohorti i sinkronizacija članova s Brevo popisima
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) {
// Dohvaćanje osoba u ovoj kohorti
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
}
});
}
}
}

Pokretanje HogQL upita za analitiku

// Korištenje HogQL-a za upit analitičkih podataka
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]
}
});
}

Ograničenja brzine

Kategorija krajnje točkeOgraničenjeNapomene
Analitičke krajnje točke240/min, 1.200/satGET osobe, događaji, uvidi
Krajnja točka upita2.400/satHogQL i prilagođeni upiti
Evaluacija feature zastavica600/minLokalna evaluacijska krajnja točka
CRUD krajnje točke480/min, 4.800/satOperacije stvaranja, ažuriranja, brisanja
Javne krajnje točke (hvatanje)NeograničenoHvatanje događaja, odluke zastavica

Skupni izvozi

Za izvoz podataka o događajima u velikom opsegu, koristite PostHog funkciju skupnih izvoza umjesto API-ja. Skupni izvozi podržavaju S3, BigQuery, Snowflake i druge destinacije.

Rješavanje problema

ProblemUzrokRješenje
401 UnauthorizedNevažeći API ključProvjerite Personal API Key u postavkama
400 Invalid projectPogrešan ID projektaProvjerite ID projekta u PostHog URL-u
Prazan popis osobaNema identificiranih korisnikaOsigurajte da se poziva posthog.identify()
Nedostaju svojstvaSvojstva nisu postavljenaProvjerite $set pozive u klijentskom SDK-u
Ograničenje brzine 429Previše zahtjevaImplementirajte povratak, provjerite zaglavlja ograničenja brzine

Način otklanjanja grešaka

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

Preporučene prakse

  1. Identificirajte korisnike - Uvijek pozivajte posthog.identify() s e-mailom za omogućavanje sinkronizacije osoba
  2. Koristite kohorte za segmentaciju - Iskoristite PostHog bihevioralne kohorte za Brevo popise
  3. Skupni API zahtjevi - Koristite paginaciju i skupnu obradu za velike skupove podataka
  4. Koristite HogQL za složene upite - Izvlačite prilagođenu analitiku s SQL-sličnim upitima
  5. Postavite skupne izvoza - Za velike volumene podataka, preferirajte skupne izvoza nad API anketiranjem
  6. Filtrirajte relevantne događaje - Sinkronizirajte samo marketinški relevantne događaje za smanjenje šuma

Sigurnost

  • Personal API Key - Opsežna Bearer token autentifikacija
  • Project token - Javni token samo za operacije na strani klijenta
  • Samo HTTPS - Sve krajnje točke zahtijevaju TLS enkripciju
  • IP dopuštanje - Dostupno za samo-hostovane instance
  • Opseženje ključeva - Stvarajte API ključeve s određenim opsezima dozvola
  • GitHub skeniranje tajni - PostHog partnerira s GitHubom za otkrivanje procurjelih ključeva

Povezani resursi

Subscribe to updates

developer-docs

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

auto-detect
AI asistent

Bok! Pitajte me o dokumentaciji.