Step 1: Set Up a Basic Node.js Server

  1. Initialize Your Node.js Project:
    • Create a new directory for your project, navigate into it, and run npm init -y to create a package.json file.
  2. Install Necessary Packages:
    • Install Express for your web server and the Statsig SDK for Node.js by running:
    npm install express statsig-node
    
  3. Create Your Server:
    • Create an index.js file and set up a basic Express server. Here’s a simple example:
    const express = require('express');
    const app = express();
    const port = 3000;
    app.get('/', (req, res) => {
        res.send('Hello, World!');
    });
    app.listen(port, () => {
        console.log(`Server listening at http://localhost:${port}`);
    });
    
    • Verify the app runs by issuing node index.js command

Step 2: Integrate Statsig for A/B Testing

  1. Initialize Statsig:
    • At the top of your index.js, require the Statsig SDK and initialize it with your server-side SDK key.
    • Modify your route to serve different content based on the experiment’s variant.
    • Ensure you replace 'your-server-sdk-key' with your actual Statsig server-side SDK key and 'your_experiment_key' with the name of your experiment.
    const statsig = require('statsig-node');
    const express = require('express');
    const app = express();
    const port = 3000;
    // Initialize Statsig server-side SDK
    statsig.initialize('your-server-sdk-key').then(() => {
      app.get('/', async (req, res) => {
        const user = { userID: 'user123' }; // Customize as needed
        const experiment = statsig.getExperimentSync(user, 'experiment_name');
        const ev = experiment.getValue('parameter_name', 'Default Text');
        res.send(`<h1>${ev}</h1>`);
      });
    });
    app.listen(port, () => {
      console.log(`Server listening at http://localhost:${port}`);
    });
    
    • Run the app by issuing node index.js command

Step 3: Create Your A/B Test in Statsig Console

  1. Log into Statsig Console:
    • Go to the Statsig Console and log in.
  2. Create a New Experiment:
    • Navigate to the “Experiments” section and click on “Create New”.
    • Fill in the details for your experiment, including giving it a unique key (e.g., 'your_experiment_key').
  3. Configure Experiment Variants:
    • Add variants for your experiment (e.g., control and test).
    • Within each variant’s configuration, add a parameter named textToShow and assign the text you wish to display for each variant.
  4. Launch the Experiment:
    • After setting up your variants and parameters, save and start the experiment.

By following these steps, you’ve created a simple Node.js application that runs an A/B test to serve different text content based on the variant assigned to a user in the Statsig experiment. This setup enables you to conduct A/B testing efficiently, allowing you to make data-driven decisions based on user interaction with your application.