Skip to main content

Connect Omnisend with Custom Ecommerce Platforms

Learn how to connect custom ecommerce platforms to Omnisend using frontend snippet and backend API integration

Paulius avatar
Written by Paulius
Updated today

If your ecommerce platform doesn't have a native Omnisend integration, you can connect it using our API. This gives you access to the same features as native integrations – abandoned cart automation, customer segmentation, order tracking, and more.

The setup involves two steps: adding a tracking snippet (frontend integration) and syncing your data via API (backend integration).

Already using a native integration?
We have built-in integrations for Shopify, BigCommerce, and WooCommerce. Use those guides instead for faster setup.


Before You Begin

Who This Guide Is For

Use this guide if your store is built on:

  • Custom-built websites or platforms not listed in our native integrations.

  • Platforms with limited native support: Etsy, Squarespace, Hostinger Website Builder, custom WordPress themes.

  • Headless commerce setups: Shopify Hydrogen, custom React/Vue frontends, API-first platforms. 

If you're on Shopify, WooCommerce, BigCommerce, or Wix, use our native integration guides for easier setup.

Do You Need a Developer?

Frontend integration (adding the snippet) can be done by anyone comfortable with:

  • Accessing your website's HTML or template files.

  • Adding code snippets to your site footer (like Google Analytics).

  • Using Google Tag Manager (optional method).

Backend integration (syncing data via API) requires a developer with:

  • REST API knowledge.

  • Access to your store's customer and order database.

  • Ability to implement webhooks or scheduled data syncs.

What you can do without a developer:

  • Signup forms (all types: popup, wheel, landing page)

  • Email and SMS campaigns

  • Welcome automation

  • Browse & Product Abandonment (requires product viewed event setup)

  • Live visitor tracking

What requires a developer:

  • Abandoned Cart & Checkout automation.

  • Order Confirmation, Shipping Confirmation, Order Cancellation.

  • Advanced segmentation (e.g., "Customers who bought X but not Y").

  • Product Picker in emails.

  • Revenue reporting in campaign analytics.

If you're unsure, start with frontend integration. You can add backend integration later.

Platform-Specific Limitations

⚠️ Some platforms have code or data access restrictions:

  • Etsy: Does not allow custom code on shop pages. You'll need an external landing page or website to add the Omnisend snippet and use signup forms. Backend integration requires developer work or tools like Zapier.

  • Squarespace: Limited code customization. Use Zapier or Make to sync form submissions, or contact your developer for full API integration.

  • Hostinger Website Builder, Wix (custom domains): Frontend snippet can be added, but backend integration requires a developer.

  • Headless stores (Shopify Hydrogen, custom frameworks): Your development team controls all event tracking and data syncing via API.

If your platform has limitations, contact your developer before starting setup.

What Each Integration Unlocks

Integration Level

What You Get

What You Still Can't Do

Developer Needed?

Frontend Only

Signup forms, Welcome automation, Browse & Product Abandonment, Live View, email campaigns

Abandoned Cart, order automations, purchase-based segmentation, revenue reporting

No

Frontend + Backend

All automations (cart, order, reactivation), advanced segmentation, Product Picker, sales attribution

N/A

Yes

Frontend Integration

Frontend integration adds the Omnisend tracking snippet to your website pages. This unlocks signup forms, browse abandonment, visitor tracking, and email campaigns.

Step 1: Connect Your Store

  1. In your Omnisend Dashboard, click Connect store

  2. Choose Other from the list of store platforms. 

Step 2: Enter Your Store URL

Enter your store URL and click Connect store

Step 3: Add the Tracking Snippet

You'll see a JavaScript snippet on the next page. Paste this snippet into your website's HTML footer file, right before the closing </body> tag on every page – just like Google Analytics.

Where to add the snippet:

The easiest method is to add the snippet to your site's footer file (usually footer.html, footer.php, or theme.liquid depending on your platform). This file renders on all pages.

⚠️ If you're unsure where to add it, contact your website developer.

Using Google Tag Manager

If you use Google Tag Manager:

  1. Sign in to your Google Tag Manager account and select your workspace.

  2. Click TagsNew.

  3. Click Tag ConfigurationCustom HTML.

  4. Copy the snippet from Omnisend and paste it into the HTML field. Place it inside <script></script> tags.

  5. Set the trigger to fire on All Pages.

  6. Save and publish.

Check this Google guide for more GTM setup details.

Step 4: Verify Your Connection

Once you've added the snippet, click Verify & Connect in Omnisend. If verification succeeds, you're done with frontend integration. You can now use signup forms, browse abandonment, and email campaigns.

⚠️ Important: Google Tag Manager Verification

If you added the snippet via GTM, verification may fail even when the snippet works correctly. This happens because our verification checks for direct HTML placement.

How to check if it's working:

  1. Open your website

  2. Press F12 to open browser console

  3. Type window.omnisend and press Enter

  4. If you see an array, the snippet is firing correctly

Next steps:
Contact support via in-app chat with your store URL. We'll verify your connection manually. 

Troubleshooting: Verification Failed

If verification fails:

  1. Wait 5–10 minutes after adding the snippet (changes may take time to propagate).

  2. Clear your browser cache and refresh your website.

  3. Check snippet placement: Right-click on your website → View Page Source. Search for omnisend.push. It should appear before </body> on every page.

  4. Re-copy the snippet from Omnisend and paste it again to ensure no characters are missing.

  5. Check your Brand ID: Make sure the Brand ID in the snippet matches the one in your Omnisend account (hover over store icon on the left → Your brand ID). 

If you're using Google Tag Manager, see the warning above – contact support for manual verification.

What to Test Next

Once verified, test these features immediately:

  1. Create a signup form (Campaigns → Forms) and test it on your site.

  2. Check Live View (Store → Live View) to see if page visits are tracked.

  3. Set up a Welcome automation (Automation → Pre-Built) – this works with frontend integration only.

Note: Event tracking (cart events, product views) only works after a contact is identified via signup form or API. Anonymous visitors won't trigger events until they submit their email.

Backend Integration

Backend integration syncs your customer, order, and product data to Omnisend via API. This unlocks abandoned cart automation, order confirmations, advanced segmentation, and revenue reporting.

Backend integration requires developer knowledge. Share these resources with your development team:

What Backend Integration Unlocks

Once backend integration is complete, you'll have access to:

  • Abandoned Cart and Abandoned Checkout automation.

  • Order-related automations: Order Confirmation, Order Cancellation, Shipping Confirmation, Order Follow-up, Customer Feedback, Customer Reactivation. 

  • Custom automation workflows based on purchase behavior (e.g., "Bought X but not Y").

  • Advanced segmentation with order and product data.

  • Product Picker in email campaigns.

  • Revenue reporting in campaign and automation analytics.

Once your developer pushes the required data through the API, all enabled features will start working immediately. Note: Some features (like Live View) still require the frontend snippet.

Troubleshooting

I added the snippet, but verification failed

See the "Troubleshooting: Verification Failed" section above for detailed steps.

If you're using Google Tag Manager, verification may fail even if setup is correct – see the GTM warning in Step 4 and contact support for manual verification.

I'm getting 400 errors when tracking events

Events require an identified contact to work. A 400 error usually means the contact hasn't been identified yet.

How contacts are identified:

  • They submit a signup form with their email

  • You identify them via API using the setContact method

To fix:

  • Ensure your event tracking code runs after contact identification

  • Test by submitting a signup form first, then triggering the event

  • Check Store Settings → API → Logs for specific error details

Anonymous visitors won't trigger events until they're identified.

Product Picker is not displayed

Product Picker requires Omnisend to have your product catalog data. For custom platforms:

  1. Sync your product catalog via API (backend integration)

  2. Add the product viewed event tracking to your product pages (frontend snippet + dynamic product data)

Follow the Product Picker setup guide for detailed instructions.

The store is connected, but automations are not working

To trigger automation workflows, you must pass the event and associated data through the API. For example:

  • Abandoned Cart requires Cart API and Order API events

  • Order Confirmation requires Order Placed event

  • Product Abandonment requires a Product Viewed event

Check Store Settings → API → API Logs for errors.

Note: Frontend integration alone only supports Welcome, Browse Abandonment, and Product Abandonment automations. All order-based automations require backend integration.

The product tab in the contact profile does not show anything

The information displayed under the Products tab in a contact's profile comes from Live View tracking. For API-based platforms, Omnisend cannot track some events (like placed order or purchased product) via Live View – it receives this data via API instead.

This means the Products tab may remain empty even if your integration works correctly. Check Store Settings → API → Logs to confirm order and product data is syncing.

FAQ

Can I use this guide for Etsy, Squarespace, Hostinger, or other platforms not listed in your integrations?

Yes. Any platform that allows custom HTML/JavaScript can use frontend integration (signup forms, basic automations).

  • Etsy: Does not allow custom code on shop pages. You'll need an external landing page or website to add the snippet, or use Zapier to sync contacts. Backend integration requires developer work.

  • Squarespace: Limited code customization. Use Zapier or Make to sync form submissions, or contact your developer for full API integration.

  • Hostinger Website Builder: Frontend snippet can be added. Backend integration requires a developer.

Full backend integration requires API access to your store's order data.

I added the snippet via Google Tag Manager, but verification failed. What should I do?

Your integration may be working even if verification fails. GTM-installed snippets often don't pass our automatic verification because we check for direct HTML placement.

To confirm it's working:

  1. Open your website

  2. Press F12 to open browser console

  3. Type window.omnisend and press Enter

  4. If you see an array, the snippet is firing correctly

Contact support via in-app chat with your store URL. We'll verify your connection manually. 

Make sure:

  • Your GTM tag fires on All Pages

  • The tag is published in GTM

  • The snippet is wrapped in <script></script> tags

What automations work with only frontend integration?

With frontend integration only, you can use:

  • Welcome emails

  • Browse Abandonment

  • Product Abandonment (requires product viewed event setup)

  • Birthday emails

  • Automations triggered by contact segments

You cannot use without backend integration:

  • Abandoned Cart

  • Order Confirmation

  • Shipping Confirmation

  • Order Cancellation

  • Customer Reactivation

  • Any workflow based on purchase data

These require backend API integration to pass order data to Omnisend.

Can I push cart and checkout events through Google Tag Manager?

You can push cart events (started checkout, added to cart) via GTM using Custom HTML tags with dynamic product data variables.

However, completed orders must be sent via backend API because GTM runs in the browser and can't securely access final order data after payment.

For cart abandonment:

  • Push $startedCheckout event with cart details through GTM

For order confirmation:

  • Use server-side API to push order data

See our Event Tracking API documentation for implementation details.

Why am I getting 400 errors when tracking events?

Events require an identified contact to work. A 400 error usually means the contact hasn't been identified yet.

Contacts are identified when they:

  • Submit a signup form with their email

  • Are identified via API using the setContact method

To fix:

  • Ensure your event tracking code runs after contact identification

  • Anonymous visitors won't trigger events – they must submit email first

  • Check Store Settings → API → Logs for specific error details

See our Event Tracking documentation for more details on contact identification.

How long does it take to complete integration?

  • Frontend integration: 15–30 minutes if you can access your site's HTML. Once verified, features like signup forms and Live View work immediately.

  • Backend integration: Requires a developer and typically takes 4–8 hours, depending on your platform's complexity and the features you want (basic events vs. full order sync).

  • Product data sync: Product data syncs within 24 hours after API setup.

  • Testing: Plan for 1–2 days of testing after backend integration to ensure automations trigger correctly.


Need help? Contact your website developer for custom ecommerce platform integration, or reach out to our support team via in-app chat or at [email protected].

Did this answer your question?