> For the complete documentation index, see [llms.txt](https://docs.elevateab.com/elevate-helpcenter/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.elevateab.com/elevate-helpcenter/getting-started/setup-and-installation.md).

# Setup & Installation

Getting started with Elevate takes just a few minutes. This page covers what happens when you install the app, the onboarding process, and what Elevate sets up automatically behind the scenes.

***

### Installing Elevate

Install Elevate from the [Shopify App Store](https://apps.shopify.com/elevate-ab-testing). The installation process follows Shopify's standard app authorization flow:

1. Click **Install** on the app listing
2. Review and approve the requested permissions
3. You're redirected to the Elevate app inside your Shopify admin

That's it — no manual code editing, no theme modifications, and no developer needed.

***

### What Elevate Sets Up Automatically

During installation, Elevate configures several things behind the scenes so you don't have to:

| Component           | What It Does                                                                                                      | Manual Action Required?                                                      |
| ------------------- | ----------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| **Liquid Snippet**  | Added to your theme's `<head>` section. Handles experiment delivery and visitor assignment.                       | No — installed automatically                                                 |
| **Web Pixel**       | Shopify's tracking extension for capturing visitor events (page views, add to carts, checkouts, purchases).       | No — installed automatically                                                 |
| **Metafields**      | Stores experiment configuration data that the Liquid Snippet reads.                                               | No — managed automatically                                                   |
| **Theme Extension** | Handles price changes, image swaps, and content modifications on the storefront. Required for certain test types. | No — installed with the app. May need to be enabled for specific test types. |

If you switch themes later, the Liquid Snippet is automatically reinstalled when you open the app or launch an experiment. See [Liquid Snippet](/elevate-helpcenter/analyze/tracking/liquid-snippet.md) for details.

***

### Onboarding

After installing, you'll be guided through a short onboarding flow:

1. **Personal Info** — Your name, email, and how you heard about Elevate
2. **Your Role** — Whether you're a store owner, marketer, developer, agency, or CRO specialist
3. **Test Types** — What types of experiments you're interested in running

This takes about a minute and helps us tailor your experience. Once completed, you're taken to your dashboard and can start creating experiments immediately.

***

### Permissions

Elevate requests the following Shopify permissions during installation:

* **Read/write theme files** — To install and manage the Liquid Snippet
* **Read products** — To display your product catalog for price and image experiments
* **Read/write metafields** — To store experiment configuration data
* **Read orders** — To attribute orders to experiment variations

Some experiment types require additional permissions that are requested when needed:

* **Shipping experiments** — Requires `read_shipping` and `write_shipping` permissions, plus carrier-calculated rates on your Shopify plan
* **Checkout experiments** — Requires Shopify Plus for checkout extension access

***

### Theme Extension

The Elevate theme extension is a Shopify app extension that applies changes to your storefront — price modifications, image swaps, content changes, and checkout elements. It's installed with the app but may need to be **enabled** in your theme settings for certain experiment types.

If you see a prompt to enable the theme extension when creating an experiment, follow the instructions in the app. This is a one-time step per theme.

Test types that require the theme extension:

* Native price testing (Shopify Plus)
* Product image testing
* Visual editor testing
* Custom code testing
* Checkout testing

Test types that don't require it:

* Price testing with duplicate products
* Page testing
* Split URL testing
* Theme testing
* Shipping testing

***

### Verifying Your Setup

To confirm everything is installed correctly:

1. **Liquid Snippet** — Go to **Online Store → Themes → Edit Code** and check that `elevateab.liquid` exists in the `snippets/` folder, and that `{% render 'elevateab' %}` appears near the top of `layout/theme.liquid`
2. **Web Pixel** — Go to **Settings → Customer Events** in your Shopify admin and verify the Elevate web pixel is listed
3. **Theme Extension** — Go to **Online Store → Themes → Customize** and check that the Elevate extension is visible in the app embeds section

If anything is missing, simply open the Elevate app — it will automatically detect and reinstall missing components.

***

### Manually Adding the Elevate Script

In almost all cases, the Liquid Snippet is installed automatically, and you won't need to do this. But if the automatic install didn't take (e.g. a custom theme setup, a migration, or the app's write access to theme files was revoked), you can add it yourself.

**File:** `snippets/elevateab.liquid`

Create this file in your theme's `snippets/` folder with the following code:

```liquid
<!-- Elevate - Manual Setup -->
{%- if content_for_header contains "elevateab.app" -%}
  {%- unless request.design_mode -%}
    <script>
      const environment = {
        rootUrl: '{{ routes.root_url }}',
        themeId: {{ theme.id }},
        themeRole: '{{ theme.role }}',
        activeCurrency: '{{ localization.country.currency.iso_code | default: shop.currency }}',
        template: {
          suffix: '{{ template.suffix }}',
          type: '{{ template.name }}'
        },
        isThemePreview: {% if content_for_header contains "previewBarInjector.init();" or content_for_header contains "https://cdn.shopify.com/shopifycloud/preview-bar/preview-bar-modules.js" %}true{% else %}false{% endif %},
        customerData: {% if customer %}{
          loggedIn: true,
          id: {{ customer.id | json }},
          ordersCount: {{ customer.orders_count | json }},
          totalSpent: {{ customer.total_spent | json }},
          tags: {{ customer.tags | json }}
        }{% else %}{
          loggedIn: false
        }{% endif %}
      };
      try {
        window.eab_data = {
          selectors: JSON.parse(`{{ shop.metafields.elevateab.select }}`) || {},
          allTests: JSON.parse(`{{ shop.metafields.elevateab.tests }}`) || {},
          currencyFormat: {% if settings.currency_code_enabled %}{{ shop.money_with_currency_format | json }}{% else %}{{ shop.money_format | json }}{% endif %},
          environment: environment
        };
      } catch (error) {
        console.log(error);
        window.eab_data = {
          selectors: {},
          allTests: {},
          currencyFormat: {% if settings.currency_code_enabled %}{{ shop.money_with_currency_format | json }}{% else %}{{ shop.money_format | json }}{% endif %},
          environment: environment
        };
      }
    </script>
    {{ shop.metafields.elevateab.redirect.value }}
  {%- endunless -%}
{%- endif -%}
```

Then, render it near the top of `layout/theme.liquid` (inside the `<head>` section, before other scripts that might depend on `window.eab_data`):

```liquid
{% render 'elevateab' %}
```

Once both are in place, you can verify the installation using the steps in [Verifying Your Setup](https://markdownlivepreview.com/#verifying-your-setup) above.

***

### Next Steps

Once installed, you're ready to create your first experiment:

* [Price Testing](/elevate-helpcenter/price-testing/price-testing-getting-started.md) — Test different price points
* [Page Testing](/elevate-helpcenter/page-testing/page-testing-getting-started.md) — Test different page layouts
* [Split URL Testing](/elevate-helpcenter/split-url-testing/split-url-testing-getting-started.md) — Compare different pages against each other

Or explore the [Introduction](/elevate-helpcenter/getting-started/introduction.md) for a full overview of everything Elevate can do.
