# Sync products based on unique Identifiers

The app allows you to sync products from a source store to a destination store using one of the following unique identifiers:

* **Handle** (Recommended)
* **SKU**
* **Barcode**

A **unique identifier** is a product value that is the same in both stores and can be used to match products correctly.

Once products are matched, the Tipo app can sync updates (price, title, images, etc.) based on your settings.

### ✅ Which identifier should I use?

#### 1. Handle (Recommended)

**What it is:**\
The handle is a unique string used in the URL of each product. It’s automatically generated from the product title but can be manually edited in Shopify.

<figure><img src="https://2618001169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQFJLe0hkcyiradJOCgpx%2Fuploads%2FqT1lNJcL6fu5kE7xo0Qp%2F2025-08-06_11-05-16.png?alt=media&#x26;token=776900af-a39d-42ad-879f-0f91d2da4253" alt=""><figcaption></figcaption></figure>

**Sync logic:**\
If a product in the source store has the same handle as a product in the destination store, the app considers them the same product and syncs the data.

**Example:**

| Source Store               | Destination Store          |
| -------------------------- | -------------------------- |
| Product Title: "Red Shirt" | Product Title: "Red Shirt" |
| Handle: `red-shirt`        | Handle: `red-shirt`        |

This product **will sync correctly** because the handles match.

❗**Tip:** Always use handle sync if your stores have identical product structures.

***

#### 2. SKU (Stock Keeping Unit)

**What it is:**\
The SKU is a code you assign to each product variant to track inventory.

<figure><img src="https://2618001169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQFJLe0hkcyiradJOCgpx%2Fuploads%2F6BsTfESXzt1IMDB3N2P1%2F2025-08-06_11-07-49.png?alt=media&#x26;token=aea65516-f0e8-4697-9cf5-775fd53fb6f8" alt=""><figcaption></figcaption></figure>

**Sync logic:**\
The app will match product variants based on the same SKU in both stores.

**Example:**

| Source Store                     | Destination Store                |
| -------------------------------- | -------------------------------- |
| Product: "Sneakers"              | Product: "Sneakers"              |
| Variant: Size 42 - SKU: `SNK-42` | Variant: Size 42 - SKU: `SNK-42` |

This variant will sync because the SKUs match.

❗**Warning:** If multiple products share the same SKU across variants, it may lead to incorrect matching.

***

#### 3. Barcode

**What it is:**\
The **barcode** is a globally unique product identifier, usually used for retail scanning systems.

<figure><img src="https://2618001169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQFJLe0hkcyiradJOCgpx%2Fuploads%2FZxTCnZoazytcV6InHQw7%2F2025-08-06_11-18-06.png?alt=media&#x26;token=716a0112-fe13-48b4-ab11-878cc1108f64" alt=""><figcaption></figcaption></figure>

**Sync logic:**\
The app will match **product variants** based on the barcode field in Shopify.

**Example:**

| Source Store                              | Destination Store                         |
| ----------------------------------------- | ----------------------------------------- |
| Product: "Water Bottle"                   | Product: "Water Bottle"                   |
| Variant: 500ml - Barcode: `1234567890123` | Variant: 500ml - Barcode: `1234567890123` |

This product will sync correctly using the barcode.

❗**Note:**&#x20;

Only use this option if all variants across stores use unique barcodes.

***

### ⚙️ **Steps to select Identifiers**

#### **For a new connection:**

Before connecting, check and select the product information you want to sync [here](https://docs.tipo.io/product-syncs/select-products-to-sync).

1\. Open the app in **Destination** store > click **Stores** > click **Connect store** button

<figure><img src="https://docs.tipo.io/~gitbook/image?url=https%3A%2F%2F2618001169-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FQFJLe0hkcyiradJOCgpx%252Fuploads%252FKA9Iw1olUwDiYuVhoAFW%252F2025-08-04_10-45-58.png%3Falt%3Dmedia%26token%3Dfaf97f06-bef5-4fe1-bbbf-1dad70f3748d&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=cd147ba2&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2\. Enter the **Connection Code** obtained from the Source Store (found under the app’s Settings in the Source Store).​

3\. In **General** > **Matching & Imports** part > select **Create new items if not exist and update current items that have the same handle**

<figure><img src="https://docs.tipo.io/~gitbook/image?url=https%3A%2F%2F2618001169-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FQFJLe0hkcyiradJOCgpx%252Fuploads%252FsTassLwiBAkxhF4oh3JW%252F2025-08-04_10-46-48.png%3Falt%3Dmedia%26token%3Dee36a777-2ee0-4bfc-b05b-635d63beeda5&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=e84d0c86&#x26;sv=2" alt=""><figcaption></figcaption></figure>

4\. Enable the **Product sync** setting > select **Unique Identifier** to sync product based on it

For example: If the handle is selected, the products thay have the same handle will be synced between stores.&#x20;

<figure><img src="https://2618001169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQFJLe0hkcyiradJOCgpx%2Fuploads%2FHoaVP5cvBqcpIw34pDiH%2F2025-08-06_11-00-17.png?alt=media&#x26;token=765c461e-2163-4146-8042-6ee141a7b27a" alt=""><figcaption></figcaption></figure>

5. Save to start the connection

#### **For an running connection**

1\. Go to the **Destinations** store > click **Stores** > click on the store URL of source store to view the connection detail

<figure><img src="https://docs.tipo.io/~gitbook/image?url=https%3A%2F%2F2618001169-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FQFJLe0hkcyiradJOCgpx%252Fuploads%252Flh4VzdC8RtAg3xxF2eFe%252Fopen%2520connection.png%3Falt%3Dmedia%26token%3D0a78c0e4-c46b-45e1-9d62-e8429f685b3f&#x26;width=768&#x26;dpr=4&#x26;quality=100&#x26;sign=d8133518&#x26;sv=2" alt=""><figcaption></figcaption></figure>

2\. Select a unique identifiers to sync products based on it

<figure><img src="https://2618001169-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQFJLe0hkcyiradJOCgpx%2Fuploads%2FHoaVP5cvBqcpIw34pDiH%2F2025-08-06_11-00-17.png?alt=media&#x26;token=765c461e-2163-4146-8042-6ee141a7b27a" alt=""><figcaption></figcaption></figure>

3. Click **Save** to apply the changes.

***

### 🔄 What Happens During Sync?

🧪 Example (Handle matching)

**Source store product**

* Product: Ceramic Table Lamp
* Handle: `ceramic-table-lamp`

**Destination store**

* If a product with handle `ceramic-table-lamp` exists → it gets updated
* If not → it gets imported (if enabled)

**⚙️ How matching works during sync**

When sync runs:

1. Tipo Sync reads products from the Source store
2. It searches the Destination store for a product with the same identifier
3. Then it decides:
   * &#x20;**Match found** → update existing product fields (based on your sync selections)
   * &#x20;**No match found** → import/create new product (if your import mode allows)

***

### 🌟 Best Practices

* **Use Handle** if product structures are identical between stores.
* **Use SKU** only if every variant has a **unique SKU**.
* **Use Barcode** for retail environments where barcodes are consistently used.

***

**🙋 Still need support?**

If you still need help, please feel free to contact us at <hi@tipo.io>. We’ll be happy to assist you further.
