How to manually enable OAuth for Magento 2 v2.2.0 and older
Overview
Magento 2 version 2.2.0 requires an older version of the Klaviyo extension that does not allow for OAuth setup within the extension settings. For customers currently using v2.2.0 (versions older than 2.2.0 are not supported), we recommend you add OAuth to your integration manually. We also recommend updating to the latest version of Magento 2 to take advantage of all new and upcoming Klaviyo integration features. This guide covers how to set up OAuth after you have already installed the extension and configured webhooks. If you need to install the Klaviyo extension for Magento 2, check the current version requirements and our instructions for installation.
Set up OAuth
First, make sure you are logged in to your Magento 2 account. Here, we’ll enable OAuth to securely connect your Klaviyo account to the Magento 2 extension you've just installed.
Navigate to System from the left hand navigation pane and select Integrations. Click Add New Integration in the top right corner to manually set up your integration with OAuth authentication. Give your new integration a name in the Name field and enter your secure password in the Your Password field.

Fill in the Callback URL field with the following URL. Replace <Company ID>, including the angle brackets, with your Klaviyo public API key (site ID). You can find your public API key in Klaviyo. Remove any extra spaces in the URL that may be automatically added.
https://www.klaviyo.com/integration-oauth-one/magento-two/auth/confirm?c=<Company ID>Then, update the Identity Link URL using the following URL:
https://www.klaviyo.com/integration-oauth-one/magento-two/auth/handleSelect the API tab on the left and navigate to the Resource Access dropdown menu. We recommend that you select All to grant all API access rules needed by Klaviyo.
If you wish to allow only specific selections, ensure the following are checked.
- "Catalog > Inventory > Categories"
- "Carts > Manage Carts"
- "Customers > Customer Groups"
- "Customers > All Customers"
- "Sales > Operations > Orders > Actions > View"
- "Stores > Attributes > Product"
- "Catalog > Inventory > Products"
- "Sales > Operations > Shipments"
- "Stores > Settings > All Stores"
- "Marketing > Communications > Newsletter Subscribers"
When you have finished making your selections, click Save.
Then locate the integration with the name you used above and click Activate.

Activating the integration will open up a window requesting you to approve access. Click Allow to be redirected to Klaviyo to complete the integration setup.

Sign in to Klaviyo if prompted, then confirm that the account name shown matches the account whose public API key you entered in the Callback URL. If the wrong account is shown, log out of your other Klaviyo sessions and sign in to the correct account before continuing. Click Integrate. This adds or updates the Magento 2 connection for that account.

If the window closes automatically, the connection was successful.
If you receive an account mismatch error, check that the public API key in the Callback URL belongs to the Klaviyo account you are signed in to, then try connecting again.

When establishing the connection between Magento and Klaviyo, if you receive a list of errors instead, you can click each error to learn more about the cause.

Next steps
If you are setting up a new integration, follow the instructions for enabling the Magento 2 integration in Klaviyo to configure and save the remaining settings.