Full Stack Method

Convert Full Stack Experimentation Platform

The Convert Fullstack SDK allows developers to integrate A/B testing, feature flags, and personalization into their applications. It manages different user experiences and features based on visitor data and defined rules, while also tracking visitor interactions and conversions.

What Can You Do With It?

  • A/B Testing (Experiences): Test different versions of a feature, page element, or flow to see which performs better. The SDK assigns each visitor to a variation and ensures they consistently see the same one.
  • Feature Flags (Feature Rollouts): Gradually roll out new features to a percentage of users, toggle features on/off without deploying code, and configure feature behavior with variables (boolean, string, integer, JSON).
  • Personalization: Target specific audiences with tailored experiences based on visitor attributes.
  • Conversion Tracking: Track goals (sign-ups, purchases, page views) and report results back to Convert for analysis.

How Does It Work?

The SDK follows a simple flow:

  1. Initialize — Provide your SDK Key (or static config). The SDK fetches your project configuration from Convert's CDN.
  2. Create Context — For each visitor, create a context with their unique ID and optional attributes (browser, country, etc.).
  3. Run Experiments — Ask the SDK which variation a visitor should see. The SDK evaluates targeting rules and deterministically assigns the visitor using a consistent hashing algorithm.
  4. Run Features — Check if a feature flag is enabled for the visitor and retrieve its variable values.
  5. Track Conversions — Record when visitors complete goals (e.g., sign-up, purchase). Events are batched and sent to Convert's servers.
flowchart LR
    A[Initialize SDK] --> B[Create Visitor Context]
    B --> C{Run Experiments}
    B --> D{Run Features}
    C --> E[Show Variation]
    D --> F[Toggle Feature]
    E --> G[Track Conversions]
    F --> G

Key Concepts

ConceptDescription
ExperienceAn A/B test or feature rollout. Contains one or more variations.
VariationA specific version within an experience (e.g., "Control" vs "New Headline"). Each has a traffic allocation percentage.
FeatureA feature flag with typed variables (boolean, string, integer, JSON). Enabled/disabled per visitor based on linked experiences.
GoalA conversion event you want to track (e.g., "Completed Sign-Up"). Linked to experiences for reporting.
AudienceTargeting rules that determine which visitors qualify for an experience. Evaluated using visitor attributes.
LocationSite area rules that scope where an experience applies (used for targeting in fullstack as path-based rules).
SegmentA classification of visitors for reporting purposes (e.g., "Mobile Users", "Returning Visitors").
BucketingThe process of deterministically assigning a visitor to a variation using a hash of their ID.

Fullstack Project Scope

The SDK is designed for Fullstack projects — server-side A/B testing, feature flags, and feature rollouts. It supports:

  • Experience types: a/b_fullstack and feature_rollout
  • Variation change type: fullStackFeature only
  • Audiences of type transient (conditions checked each time)

Other experience types and change types exist in the broader Convert platform (for web-based projects) but are not processed by this SDK.

Available SDKs

SDKLanguageInstallation
JavaScript SDKJavaScript / TypeScriptnpm install @convertcom/js-sdk or yarn add @convertcom/js-sdk
PHP SDKPHP 8.2+composer require convertcom/convertcom-php-sdk

All Convert Fullstack SDKs share the same architecture, bucketing algorithm (MurmurHash3), and data model. A visitor bucketed into Variation B by the JavaScript SDK will also be bucketed into Variation B by the PHP SDK for the same experience — cross-SDK determinism is guaranteed.

Next Steps