---
title: ShopMy
slug: shopmy
docTags: 
createdAt: 2026-01-27T20:29:30.854Z
---

**ShopMy** is an affiliate marketing platform for creator partnerships. This destination loads the ShopMy affiliate click-tracking script in the browser and sends order confirmations to ShopMy when a visitor was referred by a ShopMy affiliate or used a creator's discount code. No credentials are required — ShopMy attribution is based on cookies set by the click-tracking script and/or discount codes on the order.

# Getting Started

This is a device-mode destination. No credentials are required. The ShopMy click-tracking script is loaded automatically.

# Connecting to the ShopMy CDP Destination

:::BlockQuote
**Warning:** Before connecting destinations in the Chord CDP, please verify with all Destination owners that all **non-Chord CDP** configured destinations are **disabled**. Running external destinations alongside configured Chord CDP destinations **can result in duplicate events downstream.**
:::

1. Log into the Chord data platform.
2. Navigate to the CDP.
3. Click the **"Add"** button next to Destinations.
4. Select **ShopMy** from the destination catalog.
5. Enter the destination name.
6. Click **"Create"** to connect.

# Events

# Event Mapping

| Chord Event       | ShopMy Action                                       | Notes                                                            |
| ----------------- | --------------------------------------------------- | ---------------------------------------------------------------- |
| `page`            | Loads click-tracking script                         | No data forwarded                                                |
| `Order Completed` | `POST https://api.shopmy.us/api/order_confirmation` | Fired if `sms_click_id` cookie **or** a discount code is present |

All other events are silently skipped. Page and identify events do not send data to ShopMy — they only trigger the script to load.

# Page Events

Loads the ShopMy click-tracking script. No data is sent to ShopMy — the script manages affiliate attribution cookies (`sms_click_id`) autonomously.

# Order Completed

Sends an order confirmation to the ShopMy API. The event is **skipped** only if **neither** an `sms_click_id` cookie **nor** a discount code is present. This ensures orders are reported for both click-based attribution (affiliate link) and code-based attribution (creator discount code).

**API call:** `POST https://api.shopmy.us/api/order_confirmation`

| ShopMy Attribute        | Chord Source (Priority Order)                                     | Notes                                           |
| ----------------------- | ----------------------------------------------------------------- | ----------------------------------------------- |
| `orderAmount`           | `properties.subtotal` > `properties.revenue` > `properties.total` | Defaults to `0`                                 |
| `orderId`               | `properties.order_id`                                             |                                                 |
| `clickId`               | `sms_click_id` cookie                                             | Optional; only included in payload when present |
| `currency`              | `properties.currency`                                             | Defaults to `"USD"`                             |
| `is_returning_customer` | `properties.is_returning_customer`                                | Defaults to `false`                             |
| `page_url`              | `window.location.href`                                            | Current page URL at time of event               |
| `code`                  | `properties.coupon` > `properties.discount_code`                  | Coupon/discount code; `null` if not present     |

The API request has a 5-second timeout. If the request times out or fails, a warning is logged and the event is dropped.

# Initialization

The plugin loads `https://static.shopmy.us/Affiliates/sms_aff_clicktrack.js` on the first event of any type. This script handles affiliate click attribution by reading URL parameters and setting the `sms_click_id` cookie.

The plugin manages SDK loading state (`fresh` → `loading` → `loaded`/`failed`) to prevent duplicate script loads. Concurrent events during loading are queued and processed after initialization completes. If the script fails to load, subsequent events are silently dropped.

# CSP Requirements

If your site uses a Content Security Policy, allow the following domains:

| Directive     | Domain                     |
| ------------- | -------------------------- |
| `script-src`  | `https://static.shopmy.us` |
| `connect-src` | `https://api.shopmy.us`    |

***

**Updated 14 Apr 2026**
