---
title: "Σύνδεσμος Optimizely"
description: "Πλήρης οδηγός ενσωμάτωσης Optimizely για συγχρονισμό αποτελεσμάτων πειραμάτων, feature flags και δεδομένων κοινού με το Brevo μέσω Tajo."
url: https://tajo.io/gr/docs/connectors/custom/optimizely/
markdown: https://tajo.io/gr/docs/connectors/custom/optimizely.md
lang: el-GR
robots: noindex
---

Ζητήστε πρώιμη πρόσβαση

Συμπληρώστε το μικρό σας όνομα και την επαγγελματική διεύθυνση email. Θα σας στείλουμε σύνδεσμο για να επιβεβαιώσετε το αίτημα πρόσβασης στο Tajo.

# Σύνδεσμος Optimizely

Κατάσταση συνδέσμου: Προγραμματισμένο Δεν έχει κατασκευαστεί ακόμη. Το Tajo δεν εκτελεί σήμερα αυτόν τον σύνδεσμο.

| Πεδίο πηγής | Πεδίο προορισμού | Ενδεικτική τιμή |
| --- | --- | --- |
| `record.id` | `source_id` | `record_1042` |
| `record.updated_at` | `updated_at` | `2026-10-18T08:00:00Z` |
| `record.value` | `value` | `sample_value` |

Συνδέστε το Optimizely Feature Experimentation με το Brevo μέσω Tajo για συγχρονισμό αποτελεσμάτων πειραμάτων, στόχευση καμπανιών βάσει τμημάτων feature flag και εμπλουτισμό αυτοματισμών marketing με δεδομένα δοκιμών A/B και πληροφορίες κοινού.

## Επισκόπηση

| Ιδιότητα | Τιμή |
| --- | --- |
| **Πλατφόρμα** | Optimizely |
| **Κατηγορία** | Πειραματισμός (Προσαρμοσμένο) |
| **Πολυπλοκότητα Ρύθμισης** | Μεσαία |
| **Επίσημη Ενσωμάτωση** | Όχι |
| **Δεδομένα που Συγχρονίζονται** | Πειράματα, Κοινά, Εκδηλώσεις, Feature Flags |
| **Μέθοδος Πιστοποίησης** | Personal Access Token / OAuth 2.0 |

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

- **Συγχρονισμός πειράματος** - Μεταφόρτωση αναθέσεων παραλλαγής δοκιμών A/B σε χαρακτηριστικά επαφών Brevo
- **Στόχευση κοινού** - Χρήση κοινών Optimizely για τμηματοποίηση καμπανιών Brevo
- **Παρακολούθηση μετατροπών** - Παρακολούθηση εκδηλώσεων Optimizely και αντιστοίχιση σε παρακολούθηση εκδηλώσεων Brevo
- **Συγχρονισμός feature flag** - Τμηματοποίηση επαφών βάσει ενεργοποιημένων feature flags
- **Αναφορά αποτελεσμάτων** - Συγχρονισμός αποτελεσμάτων πειράματος για καμπάνιες marketing μετά-ανάλυσης
- **Υποστήριξη πολλαπλών projects** - Σύνδεση πολλαπλών projects Optimizely σε μεμονωμένη περίπτωση Tajo

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

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

1. Λογαριασμό Optimizely Feature Experimentation
2. Personal Access Token από τις [Ρυθμίσεις Εφαρμογής Optimizely](https://app.optimizely.com/v2/accountsettings/tokens)
3. Κλειδί SDK για το περιβάλλον Optimizely σας
4. Λογαριασμό Brevo με πρόσβαση API
5. Λογαριασμό Tajo με δικαιώματα συνδέσμου

## Πιστοποίηση

### Personal Access Token

```bash
# Generate at https://app.optimizely.com/v2/accountsettings/tokens
export OPTIMIZELY_ACCESS_TOKEN=your_personal_access_token
export OPTIMIZELY_SDK_KEY=your_sdk_key
export TAJO_API_KEY=your_tajo_api_key
export BREVO_API_KEY=your_brevo_api_key
```

```javascript
// All REST API requests use Bearer token auth
const headers = {
  'Authorization': `Bearer ${process.env.OPTIMIZELY_ACCESS_TOKEN}`,
  'Content-Type': 'application/json'
};
```

### Πιστοποίηση SDK

```javascript
// For feature flag evaluation, use the SDK
const optimizelySDK = require('@optimizely/optimizely-sdk');

const optimizelyClient = optimizelySDK.createInstance({
  sdkKey: process.env.OPTIMIZELY_SDK_KEY,
  datafileOptions: {
    autoUpdate: true,
    updateInterval: 60000  // 1 minute
  }
});

await optimizelyClient.onReady();
```

## Διαμόρφωση

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

```yaml
connectors:
  optimizely:
    enabled: true
    access_token: "${OPTIMIZELY_ACCESS_TOKEN}"
    sdk_key: "${OPTIMIZELY_SDK_KEY}"
    project_id: "12345678"

    sync:
      experiments: true
      audiences: true
      events: true
      feature_flags: true
      schedule: "0 */2 * * *"  # Every 2 hours

    mapping:
      experiment_variation: EXPERIMENT_VARIATION
      feature_flags: ENABLED_FEATURES
      audience_segments: OPT_SEGMENTS
```

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

```yaml
field_mapping:
  user_id: email
  experiment_key: EXPERIMENT_NAME
  variation_key: VARIATION_NAME
  feature_key: FEATURE_FLAG
  enabled: FEATURE_ENABLED
  audience_name: AUDIENCE_SEGMENT
  decision_timestamp: EXPERIMENT_DATE
```

## Endpoints API

| Endpoint | Μέθοδος | Περιγραφή |
| --- | --- | --- |
| `https://api.optimizely.com/v2/projects` | GET | Λίστα projects |
| `https://api.optimizely.com/v2/experiments` | GET | Λίστα πειραμάτων |
| `https://api.optimizely.com/v2/experiments/{id}` | GET | Λήψη λεπτομερειών πειράματος |
| `https://api.optimizely.com/v2/experiments/{id}/results` | GET | Λήψη αποτελεσμάτων πειράματος |
| `https://api.optimizely.com/v2/features` | GET | Λίστα feature flags |
| `https://api.optimizely.com/v2/features/{id}` | GET | Λήψη feature flag |
| `https://api.optimizely.com/v2/audiences` | GET | Λίστα κοινών |
| `https://api.optimizely.com/v2/events` | GET | Λίστα παρακολουθούμενων εκδηλώσεων |
| `https://logx.optimizely.com/v1/events` | POST | Παρακολούθηση εκδηλώσεων (endpoint SDK) |

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

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

```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('optimizely', {
  accessToken: process.env.OPTIMIZELY_ACCESS_TOKEN,
  sdkKey: process.env.OPTIMIZELY_SDK_KEY,
  projectId: '12345678'
});
```

### Συγχρονισμός Αποφάσεων Πειράματος στο Brevo

```javascript
// Track experiment decisions and sync to Brevo
const optimizelyClient = optimizelySDK.createInstance({
  sdkKey: process.env.OPTIMIZELY_SDK_KEY
});

await optimizelyClient.onReady();

// Register a decision notification listener
optimizelyClient.notificationCenter.addNotificationListener(
  optimizelySDK.enums.NOTIFICATION_TYPES.DECISION,
  async (decisionObject) => {
    const { type, userId, attributes, decisionInfo } = decisionObject;

    if (type === 'feature' || type === 'ab-test') {
      const email = attributes.email;
      if (email) {
        await tajo.contacts.update(email, {
          attributes: {
            EXPERIMENT_NAME: decisionInfo.experimentKey || decisionInfo.featureKey,
            VARIATION_NAME: decisionInfo.variationKey,
            FEATURE_ENABLED: decisionInfo.featureEnabled || false,
            EXPERIMENT_DATE: new Date().toISOString()
          }
        });
      }
    }
  }
);
```

### Συγχρονισμός Αποτελεσμάτων Πειράματος

```javascript
// Fetch experiment results and sync winning segments
const resultsResponse = await fetch(
  `https://api.optimizely.com/v2/experiments/${experimentId}/results`,
  {
    headers: {
      'Authorization': `Bearer ${process.env.OPTIMIZELY_ACCESS_TOKEN}`
    }
  }
);

const results = await resultsResponse.json();

// Process variations and update contact segments
for (const variation of results.metrics) {
  const isWinner = variation.is_improvement && variation.statistical_significance >= 0.95;

  if (isWinner) {
    // Create a Brevo segment for users in the winning variation
    console.log(`Winning variation: ${variation.variation_name}`);
  }
}
```

### Τμηματοποίηση Βάσει Feature Flag

```javascript
// Evaluate feature flags for user segmentation
async function syncFeatureFlags(userEmail, userId) {
  const features = ['new_checkout', 'loyalty_program', 'ai_recommendations'];
  const enabledFeatures = [];

  for (const feature of features) {
    const user = optimizelyClient.createUserContext(userId, {
      email: userEmail
    });
    const decision = user.decide(feature);

    if (decision.enabled) {
      enabledFeatures.push(feature);
    }
  }

  await tajo.contacts.update(userEmail, {
    attributes: {
      ENABLED_FEATURES: enabledFeatures.join(', '),
      FEATURE_FLAGS_SYNCED: new Date().toISOString()
    }
  });
}
```

## Όρια Ρυθμού

| Endpoint | Όριο | Σημειώσεις |
| --- | --- | --- |
| REST API | 50 αιτ./λεπτό | Ανά personal access token |
| Results API | 10 αιτ./λεπτό | Υψηλότερη καθυστέρηση, βαρύτερα ερωτήματα |
| Αποστολή εκδηλώσεων SDK | 10.000 εκδηλώσεις/batch | Μέσω επεξεργαστή εκδηλώσεων SDK |
| Datafile CDN | Απεριόριστο | Αποθηκευμένο στη cache με αυτόματες ενημερώσεις |

Καθυστέρηση Results API

Το Results API Πειράματος επεξεργάζεται μεγάλα σύνολα δεδομένων και μπορεί να χρειαστεί 30+ δευτερόλεπτα για απόκριση. Χρησιμοποιήστε ασύγχρονο polling ή αποθήκευση στη cache για αποφυγή αποκλεισμού της εφαρμογής σας.

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

| Πρόβλημα | Αιτία | Λύση |
| --- | --- | --- |
| 401 Unauthorized | Token ληγμένο/μη έγκυρο | Αναγέννηση Personal Access Token |
| SDK δεν είναι έτοιμο | Το datafile δεν έχει φορτωθεί | Αναμείνετε επίλυση της υπόσχεσης `onReady()` |
| Δεν καταγράφονται αποφάσεις | Η ειδοποίηση δεν εγγράφηκε | Εγγράψτε ακροατή πριν τη λήψη αποφάσεων |
| Παλαιά feature flags | Cache datafile | Ορίστε `updateInterval` για αυτόματη ανανέωση |
| Λείπουν αποτελέσματα | Το πείραμα δεν ξεκίνησε | Επαληθεύστε ότι η κατάσταση πειράματος είναι “running” |

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

```yaml
connectors:
  optimizely:
    debug: true
    log_level: verbose
    log_decisions: true
    log_events: true
```

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

1. **Χρησιμοποιήστε SDK για αποφάσεις** - Χρησιμοποιήστε SDK για αξιολόγηση flag σε πραγματικό χρόνο, REST API για διαχείριση
2. **Εφαρμόστε ομαδοποίηση εκδηλώσεων** - Ομαδοποιήστε εκδηλώσεις SDK για μείωση overhead δικτύου
3. **Αποθηκεύστε datafile στη cache** - Ενεργοποιήστε αυτόματη ενημέρωση με κατάλληλα διαστήματα
4. **Συγχρονίστε νικητές παραλλαγές** - Μετά την ολοκλήρωση πειραμάτων, ενημερώστε τμήματα επαφών
5. **Χρησιμοποιήστε χαρακτηριστικά για στόχευση** - Μεταβιβάστε email και χαρακτηριστικά χρήστη για αντιστοίχιση κοινού
6. **Παρακολουθήστε κατάσταση πειράματος** - Συγχρονίζετε μόνο δεδομένα από εκτελούμενα ή ολοκληρωμένα πειράματα

## Ασφάλεια

- **Personal Access Tokens** - Πιστοποίηση Bearer token για REST API
- **Απομόνωση κλειδιού SDK** - Ξεχωριστά κλειδιά SDK ανά περιβάλλον (dev, staging, prod)
- **Αξιολόγηση πλευράς server** - Αξιολογείτε feature flags πλευρά server για αποτροπή έκθεσης
- **Εναλλαγή token** - Εναλλάσσετε Personal Access Tokens περιοδικά
- **Ελάχιστα δικαιώματα** - Χρησιμοποιήστε tokens μόνο ανάγνωσης όταν δεν απαιτείται πρόσβαση εγγραφής
- **Κρυπτογραφημένη μεταφορά** - TLS 1.2+ για όλες τις επικοινωνίες API και SDK

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

- [Σύνδεσμος PostHog](https://tajo.io/gr/docs/connectors/custom/posthog)
- [Σύνδεσμος Segment](https://tajo.io/gr/docs/connectors/custom/segment)
- [Δεξιότητα Συγχρονισμού Πελατών](https://tajo.io/gr/docs/skills/data-sync/customer-sync)
- [Τεκμηρίωση Optimizely Feature Experimentation](https://docs.developers.optimizely.com/feature-experimentation/docs)
