Skip to content
Conversions & integrations

Shop integrations: where to start so orders, ads and the catalogue work together

What to connect first in a Shoper shop: the Shoper API, Meta login and receiver, the purchase flow, the consent script, feeds, then other platforms. States and limits.

Published: Updated: 9 min read
Illustration: a grid of tiles, some lit in turquoise and joined by lines
On this page
  1. What does the Integrations page show?
  2. Where should a Shoper shop start?
  3. What should you connect second?
  4. When should you add the shop script and feeds?
  5. What about GA4, TikTok, Pinterest and Klaviyo?
  6. How it looks in Basketly
  7. Limits
  8. Next step

Shop integrations are every place a shop connects to: where orders come from, where you advertise, where the product catalogue goes and where you measure results. Each can be connected separately, but the order matters. A bad start ends with Meta receiving purchases without products, or a feed whose ids do not appear in the purchases. Below: how to read the Integrations page and in what order to connect a Shoper shop.

What does the Integrations page show?

The Integrations page is a catalogue of every connection of the shop in six categories: where you sell, where you advertise, where the product catalogue goes, analytics and consent, marketing, and for developers. Each tile says what it gives, what state it is in and how many connections the organisation has, and its button opens the place where it is managed.

The state is counted from records that already exist, not from declarations:

StateMeaningExample
ConnectedMeaningat least one working connection existsExamplea Shoper source, an active Meta receiver, a feed
ErrorMeaningone of the connections reports a problemExamplea Shoper connection error, an expired Meta login, a refused key
Not connectedMeaningthe integration exists but you do not use itExampleno GA4 account
UnavailableMeaningthe server does not have the settings the sign-in needs yetExampleGoogle Ads without a developer token on the server
PlannedMeaningthe integration is not built yetExample—

The last two rows matter. An "Unavailable" or "Planned" tile never shows "Connected", even if you have something similar connected another way. Better to know what is missing than to assume it works.

Where should a Shoper shop start?

Start with the shop, because all the data comes from it: orders, buyers and products. The Shoper API connection reads orders, creates a webhook in the shop so orders arrive at once, and checks status changes every 15 minutes, because Shoper delivers each webhook only once.

When connecting you set four things:

  1. The API user. In Shoper you create an administrator of type "API access" with rights to orders, products, categories, producers, currencies and webhooks. The password is stored encrypted.
  2. Statuses that count as a purchase. Orders marked as paid in Shoper always count. Add the numbers of statuses that are also a sale, for example cash on delivery.
  3. The product id in the Meta catalogue: Shoper product ID, variant ID, product code (SKU) or EAN. It must match the feed that goes to the catalogue, otherwise catalogue ads cannot link the purchase to the product.
  4. The legal basis for passing order data (e-mail, phone) to Meta, which you confirm.

After connecting, the last 7 days of orders and all products are read in the background, and once per connection also 24 months of order history (never sent to Meta). Buyers land in Clients, orders on the Orders page. What to do with those numbers is covered in the article on orders, revenue and buyers. How the server-side purchase itself works is explained in the article on server-side purchase events from your shop.

What should you connect second?

Connect Meta second, because that is where purchases go and where ad spend comes from. You need three parts: a Meta login, a data receiver (the Pixel, i.e. the dataset in Events Manager) and a flow that says the shop's purchase status goes to that receiver as Purchase.

  • The Meta login (the "Meta (Facebook and Instagram)" tile) gives access to ad accounts, campaigns, creatives and spend. Spend is read by itself for the ad accounts your receivers use.
  • The receiver (the "Meta — Conversions API" tile) is the Pixel we send purchases to. You can start in test mode with a code from Events Manager, but remember to switch it off afterwards.
  • The flow is created on the Conversions page. Without it purchases stay in Basketly and never reach Meta.

What the Conversions API is and what to expect from it, see what is the Meta Conversions API.

When should you add the shop script and feeds?

Add the shop script once purchases flow to Meta. The script does nothing until the consent banner calls consent; then it collects ad click ids (fbp, fbc) plus views, carts and started checkouts for product statistics, without personal data. Add feeds right after, because only a matching catalogue lets catalogue ads link a purchase to a product.

The script does not confirm purchases. Only the server does, because the script's public key is known to anyone who opens the page.

Feeds are in Work → Feeds. A feed can come from an address, an uploaded file or Shoper's products; Basketly repairs the products, rewrites them with your rules and serves them under its own address for Google Merchant Center, the Meta catalogue and comparison sites. In Integrations you see this as three tiles in "Where the product catalogue goes", all counted from the number of feeds.

What about GA4, TikTok, Pinterest and Klaviyo?

These four connect with a key: you enter the ids and the key, and Basketly checks it with the provider where the provider allows it. The key is encrypted, never goes back to the browser and you will not see it again. You can connect at most 5 accounts of each. Each of them receives purchases once "Send purchases" is on in Conversions. TikTok, Pinterest and Klaviyo also have a separate "Read campaign results" switch: once it is on, Basketly reads their results every 6 hours (TikTok and Pinterest — spend and conversions of campaigns, ad groups and ads for Campaigns and Reports; Klaviyo — revenue of e-mail campaigns and flows for the e-mail row of the Channels table). A token without reporting permission is refused with a readable reason.

IntegrationWhat you enterHow we checkWhat it does today
Google Analytics 4What you entermeasurement ID G-…, Measurement Protocol secretHow we checkcannot be checked up front ("not checked")What it does todayreceives server-side purchases once "Send purchases" is on
TikTokWhat you enterad account ID, pixel code, tokenHow we checkthe account's pixel listWhat it does todayreceives purchases (CompletePayment) once "Send purchases" is on; with "Read campaign results" on it also gives campaign results
PinterestWhat you enterad account ID, tokenHow we checkreading the ad accountWhat it does todaygets purchases (checkout, Conversions API) once Send purchases is on; with "Read campaign results" on it also gives campaign results
KlaviyoWhat you enterprivate API keyHow we checkreading the accountWhat it does todaygets purchases (Placed Order, only with an e-mail) and segments as lists, without changing marketing consent; with "Read campaign results" on it also gives e-mail revenue

Each connection shows its ids, its state (working, error with the provider's reason, or saved, not checked) and the time of the last check. "Check again" repeats the test, "Disconnect" removes the connection. How to switch on sending to GA4 and TikTok and what exactly they receive is in the article on purchases to GA4 and TikTok from the server.

How it looks in Basketly

In Basketly Integrations are under Setup → Integrations. The first tab, Overview, is the catalogue of tiles. The next tabs are Data sources (Shoper, IdoSell, BaseLinker, WooCommerce, Shopify, Google Sheet), Meta datasets and Connected accounts (Google and Meta logins, SMS accounts). A tile's “Connect” opens that platform's dialog straight away, such as the shop form or the sign-in, and the product catalogue tiles lead to Feeds.

Who can do what:

  • anyone whose role can see Connections can view Integrations,
  • connecting, changing and disconnecting integrations needs edit rights on Connections (owner and administrator by default),
  • switching on "Send purchases" needs edit rights on Conversions.

A new organisation also gets a Getting started page: a checklist counted from what already exists (shop, Meta receiver, purchase flow, feed, Meta campaigns read, other platforms), with a button that opens exactly where each step is done. Until the required steps are done, it sits at the top of the menu with the number of steps left.

The suggested order for a Shoper shop, in one place:

  1. A Shoper source with the Shoper API connection.
  2. A Meta login and a receiver.
  3. A purchase → Purchase flow on the Conversions page.
  4. The shop script, called after consent.
  5. A product feed and its address in Merchant Center and the Meta catalogue.
  6. GA4, TikTok, Pinterest, Klaviyo, Google Ads and Microsoft Ads with purchase sending switched on.

After each step look at the purchase balance, and at the end at the connection map, which shows all these parts on one canvas with the state of every connection.

Limits

  • Shops connected through their API are Shoper, IdoSell, BaseLinker, WooCommerce and Shopify. Another shop can send paid orders through a shop source from its own server.
  • Google Ads and Microsoft Ads connect by signing in and choosing the account and conversion. They get only purchases from a click of their ads (the click id read by the script after consent), and Google with enhanced conversions also purchases matched by e-mail; their campaigns and spend show on Campaigns (each platform's tab) and in the Channels table of Reports, each platform by its own report. The tile works once the server administrator sets their developer tokens.
  • Klaviyo subscribes nobody to newsletters. Basketly only adds profiles to a list and sends purchase events; marketing consent stays as it was.
  • GA4 does not confirm the key up front, so a key error shows only when sending.
  • "Connected" is not a guarantee that data flows. It says the connection exists and reports no error. Whether purchases arrive is shown by the purchase balance.
  • A platform accepting a purchase does not prove campaign optimisation or attribution to an ad.

Next step

Open Integrations → Overview and see which tiles under "Where you sell" and "Where you advertise" are already connected. If Shoper is not connected, start there. The full description of all connections is on the Integrations page.

About the author

Aleksander

Founder of Basketly.io, BooksyAudit.pl and SMSPortal.app

Founded Basketly.io, BooksyAudit.pl and SMSPortal.app. In the knowledge base he explains how to send shop purchases to Meta, how to keep a product catalogue in shape and how to measure what a purchase from ads costs.

All articles by the author

Frequently asked questions

What do the “Planned” and “Unavailable” states on an integration mean?

“Planned” means we have not built it yet. “Unavailable” means the server does not have the settings the platform's sign-in needs yet; the tile says so plainly and offers “Write to us”. Neither ever shows “Connected”, so you never have to wonder whether something runs in the background.

Does Basketly send segments to Klaviyo once it is connected?

Yes. In Clients → Segments the owner or an admin picks Send to Klaviyo, a list (or a new one named after the segment) and confirms the legal basis. Every night Basketly adds new people by e-mail and removes those who left the segment. It subscribes nobody to newsletters: marketing consent in Klaviyo is not changed. Purchases can also go to Klaviyo as Placed Order events.

Does Pinterest receive shop purchases?

Yes, once Send purchases is on in Conversions. You connect Pinterest with a key: the ad account ID and a token that Basketly checks by reading that account. A purchase goes through the Pinterest Conversions API as checkout.

Can I see a stored integration key?

No. The key is encrypted and never goes back to the browser. When editing, an empty field keeps the stored key, and a newly entered key replaces it.

How many accounts of one integration can I connect?

At most 5 accounts of each key-based integration (GA4, TikTok, Pinterest, Klaviyo) per organisation, for example several GA4 properties or TikTok pixels.

Get started in under 5 minutes

Connect your shop and Meta and see how many purchases really arrive.

  • Free up to 100 orders a month
  • No developer needed
  • Purchase balance and self-check