# Advertorial and Shopify

> Step-by-step setup of cross-domain tracking between an advertorial property and a Shopify store property in one AnyTrack account, with checks and expected results.

Your ads send visitors to an advertorial on one domain, for example `best-skincare-tips.com`. The advertorial links to your Shopify store on another domain, for example `mystore.com`. This guide connects the two properties. A purchase that starts with a click from the advertorial to a store page then returns to the advertorial property. The advertorial property sends it to your ad platform with the original ad click.

<Prerequisites
  title="Before you begin"
  items={[
    { label: "Your account is on the Personal plan or higher. Personal includes 3 properties.", done: false },
    { label: "One property for the advertorial, with the Tracking Tag in the head section of every page.", done: false },
    { label: "One property for the store, with the Shopify integration set up. See the Shopify guide.", done: false },
    { label: "The ad platform that runs the campaign is connected to the advertorial property.", done: false },
  ]}
/>

## How the Data Travels

**Advertorial to Shopify Store**

The advertorial property owns the ad click, so the store purchase must return to the advertorial property.

1. **Visitor clicks your ad**. Tools: Facebook Ads. Advertorial property. The visitor lands on the advertorial. The advertorial property records the session with the ad click ID.
2. **Visitor clicks the product link**. The Tracking Tag adds `atrefid` to the link that points to the store. The advertorial property tracks an `OutboundClick`. Data: atrefid (present). Passes on: ?atrefid=<Click ID>.
3. **Visitor shops on the store**. Tools: Shopify. Store property. The store Tracking Tag reads `atrefid` from the page URL and keeps it with the session.
4. **Order webhook sends the `Purchase`**. Tools: Shopify. The store property records the purchase.
5. **AnyTrack copies the purchase**. The advertorial property receives a copy of the `Purchase`.
6. **Conversion API delivery**. Tools: Facebook Ads. The advertorial property sends the purchase with the original ad click.

Result: **Ad gets the credit**. Ads Manager shows the purchase on the campaign that sent the visitor to the advertorial.

The advertorial property is the **source property**: it owns the ad click and all the cross-domain settings. The store property is the **destination property**: it records the purchase, as it does for any other visitor.

## Step 1: Set Up the Store Property

1. Open the store property.
2. Set up the Shopify integration. Follow [Shopify](/docs/shopify) from start to finish, including the Tracking Tag and the webhooks.
3. Make a test order. Verify that the `Purchase` shows in the [Conversions Report](/docs/conversions-report) of the store property.

The store property needs no cross-domain settings.

## Step 2: Configure the Advertorial Property

1. Open the advertorial property.
2. Open the **Settings** tab, then find **Cross-Domain Settings**.
3. In **Additional Domains**, enter the domain of your store, for example `mystore.com`. Press Enter.
4. Turn on **Enable to sync Conversions triggered on cross-domain properties with this property.**
5. In **Event Names**, keep `Purchase`. Keep `InitiateCheckout`, `AddToCart`, and `ViewContent` if you want them in the advertorial property.
6. Click **Save**.

<Callout icon="🚧" theme="warn">
**Enter the domain that the links point to**

The Tracking Tag tags a link only if the link host is in the list. If your advertorial links to `mystore.myshopify.com` and not to `mystore.com`, enter the domain of the links. Never enter the domain of the advertorial itself.
</Callout>

## Step 3: Link to Store Pages

Link the advertorial to product or collection pages of your store. The store pages load the Tracking Tag of the store property, which keeps `atrefid` with the session.

<Callout icon="❗" theme="error">
**This guide covers links to store pages only**

A link that goes straight to the Shopify cart or checkout skips the store pages. The store Tracking Tag never sees the visit, so `atrefid` does not reach the store property. These links use a different method: the Click ID goes into the Shopify order as a cart attribute. Follow [Shopify Cart Permalinks](/docs/buy-now-button-or-permalink) and use the tests in that article. The checks and the results in this guide do not apply to these links.
</Callout>

## Step 4: Verify the Setup

1. Open the advertorial in a new incognito window.
2. Hover over a link to a store page. The link URL must contain `?atrefid=`.
3. Click the link and complete a test order on the store.
4. Open the Conversions Report of the store property. The `Purchase` shows as a referral from the advertorial domain.
5. Open the Conversions Report of the advertorial property. The same `Purchase` shows with the traffic source of your visit.

For each setting and each check, see [Cross-Domain Settings](/docs/cross-domain-settings).

## What to Expect

These results apply to a visitor who clicks a link from the advertorial to a store page.

<Table variant="specs">

| Where | What you see |
| --- | --- |
| Advertorial property | The `Purchase`, attributed to the ad click and the campaign of the first visit, plus the `OutboundClick` on the product link |
| Store property | The same `Purchase`, as a referral from the advertorial domain |
| Your ad platform | The `Purchase` from the advertorial property, sent through the Conversion API with the order value |
| Purchases from visitors who reach the store with no link from the advertorial | They stay on the store property only |
| Purchases from a direct link to the cart or checkout | Not covered by this guide. See [Shopify Cart Permalinks](/docs/buy-now-button-or-permalink). |

</Table>

<Callout icon="📘" theme="info">
**Same pixel on both properties**

If you connect the same Meta pixel to the advertorial property and the store property, Events Manager counts some purchases twice. AnyTrack does not deduplicate across properties. Ads Manager attribution stays correct. See [Deduplication](/docs/deduplication).
</Callout>

## Related Articles

- [Cross-Domain Tracking](/docs/cross-domain-tracking): when you need it and how it works
- [Cross-Domain Settings](/docs/cross-domain-settings): each field and its default
- [Shopify](/docs/shopify): the store integration
- [Review Site, Stores, and Affiliate Offers](/docs/cross-domain-review-site-stores): one source site with several stores

<FaqAccordion
  title="Frequently Asked Questions"
  icon="fa-duotone fa-circle-question"
  items={[
    {
      question: "Why does the purchase show on the store property but not on the advertorial property?",
      answer: "Check four points. 1. The link on the advertorial carries <code>atrefid</code>, not <code>atclid</code>. 2. The domain of the link is in Additional Domains. 3. <code>Purchase</code> is in the Event Names list. 4. The visitor reached a store page through the tagged link. A visitor who types the store address has no <code>atrefid</code>, and the purchase stays on the store property."
    },
    {
      question: "Do I configure cross-domain settings on the Shopify store property?",
      answer: "No. All the cross-domain settings live on the advertorial property. The store property needs the Tracking Tag and the Shopify integration only."
    },
    {
      question: "Should I connect my Meta pixel to the store property too?",
      answer: "Connect the pixel of the campaign to the advertorial property, which owns the ad click. If the store also runs its own ads with the same pixel, Events Manager counts some purchases twice, and Ads Manager attribution stays correct."
    },
    {
      question: "My advertorial is on blog.mystore.com and the store is on mystore.com. Do I need this setup?",
      answer: "No. Subdomains of one root domain share the first-party cookie. Track both in one property, with no cross-domain settings."
    },
    {
      question: "Can I send AddToCart and InitiateCheckout from the store to the advertorial property?",
      answer: "Yes. Keep the events in the Event Names list of the advertorial property. AnyTrack copies each event in the list and the advertorial property sends it to its connected ad platforms."
    }
  ]}
/>
