Skip to main content

Optimizely

Optimizely is a leading experimentation and personalization platform that enables businesses to test, optimize, and personalize digital experiences across web, mobile, and server-side applications, driving data-driven decisions and improved customer engagement through A/B testing and feature flagging.

Optimizely icon

Power end-to-end data operations for your Optimizely API with Nexla. Our bi-directional Optimizely connector is purpose-built for Optimizely, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Optimizely or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Optimizely workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating an Optimizely credential, you need to ensure you have access to your Optimizely account. Optimizely uses OAuth2 3-legged authentication with Nexla's public application, which allows Nexla to access your Optimizely account on your behalf.

To prepare for OAuth2 authentication, ensure you have the following:

  1. Optimizely Account Access: You must have an active Optimizely account with appropriate permissions to authorize third-party applications.

  2. Account Access: You must have administrative access or appropriate permissions to authorize access to your Optimizely account.

  3. OAuth Authorization: During the credential creation process, you will be redirected to Optimizely's authorization page to grant Nexla permission to access your Optimizely account. You will need to sign in with your Optimizely account and approve the authorization request.

The OAuth2 flow uses Nexla's public Optimizely application to authenticate with Optimizely. When you authorize Nexla, you grant permission for Nexla to access your Optimizely account data with the all scope, which provides full access to your Optimizely projects, experiments, and other resources. The authorization includes access to read and manage data in your Optimizely account. For detailed information about OAuth2 authentication, available scopes, and API access, refer to the Optimizely API documentation.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Optimizely

OptimizelyCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  2. Optimizely uses OAuth2 3-legged authentication to securely access your Optimizely account. Nexla uses a public Optimizely application to facilitate the OAuth2 flow, so you don't need to create your own OAuth2 application. Click the Authorize button to begin the OAuth2 authorization process. You will be redirected to Optimizely's authorization page.

  3. Sign in to your Optimizely account using your Optimizely account credentials.

  4. Review the permissions that Nexla is requesting. These permissions allow Nexla to access your Optimizely account data with the all scope, which provides full access to your Optimizely projects, experiments, and other resources.

  5. Click Accept or Authorize to grant Nexla permission to access your Optimizely account.

  6. After authorization, you will be redirected back to Nexla, and the credential will be automatically configured with the OAuth2 tokens.

    OAuth2 authentication uses Nexla's public Optimizely application to securely access your Optimizely account. When you authorize Nexla, you grant permission for Nexla to access your Optimizely account data with the all scope, which provides full access to your Optimizely projects, experiments, and other resources. The authorization includes access to read and manage data in your Optimizely account.

    The OAuth2 tokens (access token and refresh token) are automatically managed by Nexla. The access token is used to authenticate API requests, and the refresh token is used to obtain new access tokens when they expire. Tokens are automatically refreshed as needed to maintain access to your Optimizely account.

    If you need to revoke access, you can do so in your Optimizely account settings under Connected apps or OAuth applications. For detailed information about OAuth2 authentication, available scopes, and API access, see the Optimizely API documentation.

  7. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Optimizely connector tile, then select the credential that will be used to connect to your Optimizely account, and click Next; or, create a new Optimizely credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Optimizely endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Get all Projects

This endpoint template retrieves a list of all projects in your Optimizely account, along with associated metadata. Use this template when you need to retrieve information about your Optimizely projects, including project IDs, names, and configurations.

  • This endpoint automatically retrieves all projects from your Optimizely account. No additional configuration is required beyond selecting this endpoint template.

This endpoint retrieves a list of all projects in your Optimizely account, including project IDs, names, account IDs, and other project metadata. Use this endpoint to discover which projects are available in your Optimizely account before using them with other Optimizely endpoints.

For detailed information about project management, API response structures, and available project data, see the Optimizely API documentation.

Get all Events

This endpoint template retrieves all events for a specific Optimizely project. Use this template when you need to retrieve information about events, including pageview events (which are stored as Pages) and custom events for a project.

  • Enter the Optimizely Project ID in the Optimizely Project ID field. This should be the unique identifier of the Optimizely project for which you want to retrieve events. The Project ID determines which project's events will be fetched. You can find the Project ID in your Optimizely account or by using the "Get all Projects" endpoint.

This endpoint retrieves all events for a specific Optimizely project, including pageview events (which are stored as Pages) and custom events. The endpoint uses incrementing page-based pagination with page and per_page parameters to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by incrementing the page number. The endpoint returns up to 100 events per page by default.

For detailed information about event management, API response structures, pagination, and available event data, see the Optimizely API documentation.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Optimizely data sources can also be manually configured to ingest data from any valid Optimizely API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom query parameters and filters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Optimizely API endpoints typically use the GET method (e.g., https://api.optimizely.com/v2/projects, https://api.optimizely.com/v2/events?project_id={project_id}). For the Response Data Path, use $[*] to extract all items from the response array. Optimizely API uses incrementing page-based pagination with page and per_page parameters for most endpoints.

Once all of the relevant settings have been completed, click the Next button to proceed with the rest of the data flow configuration, or click Save to save the data source configuration for later use.

Use as a destination

Click the + icon on the Nexset that will be sent to the Optimizely destination, and select the Send to Destination option from the menu. Select the Optimizely connector from the list of available destination connectors, then select the credential that will be used to connect to your Optimizely account, and click Next; or, create a new Optimizely credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Optimizely endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create Custom Event

This endpoint template creates a custom event in an Optimizely project using records from a Nexset. Use this template when you need to create custom events in Optimizely for tracking user interactions, conversions, or other custom metrics. Click on the API documentation link to see the recommended payload structure.

  • Enter the Optimizely Project ID in the Optimizely Project ID field. This should be the unique identifier of the Optimizely project in which you want to create custom events. The Project ID determines which project will receive the custom events. You can find the Project ID in your Optimizely account or by using the "Get all Projects" endpoint.

This endpoint sends data as JSON in the request body to create a custom event in an Optimizely project. Each record from your Nexset will be sent as a separate API request to create a new custom event in Optimizely. The request body should contain the event data in the format required by the Optimizely API for custom events.

The event structure must match the Optimizely API's expected format for custom events. For detailed information about custom event creation, request body formats, available event properties, and recommended payload structures, see the Optimizely API documentation.

Manual configuration

Optimizely destinations can also be manually configured to send data to any valid Optimizely API endpoint, including endpoints not covered by the pre-built templates or when you need custom API configurations.

Optimizely API endpoints typically use the POST method with JSON request bodies (e.g., https://api.optimizely.com/v2/projects/{project_id}/custom_events). The request body format is typically {message.json} to send the entire Nexset data as JSON, matching the structure required by the specific Optimizely endpoint you're using.

Save & activate

Once all of the relevant steps have been completed, click the Next button to proceed with the rest of the data flow configuration, or click Save to save the destination configuration for later use. To send the data to the configured Optimizely endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Optimizely endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.