1. Wicked Help Center
  2. 1. SETUP
  3. Order Systems and Shopping Carts

How To Manually Integrate Your Shopify Store

This document is for users who need to know how to integrate their Shopify Store manually. An example of this is if you have a second Shopify Store that you need to integrate with Wicked Reports.

On This Page:

  1. How to Manually Add your Wicked Tracking Code to Shopify
  2. How To Validate Your Tracking
  3. How To Send Your Contacts & Orders to Wicked Reports
    1. Option #1: Custom API (Strongly Recommended)
    2. Option #2: Shopify Webhooks
    3. Option #3: Zapier
    4. Option #4: Manual CSV Upload
  4. Summary

Step 1 - How To Manually Add Tracking Code to Shopify & Validate

This method of adding the tracking code involves the use of theme.liquid. If you do not have theme.liquid available, then you can reach out to support@wickedreports.com for additional assistance.

  1. Login to your Wicked Reports account
    1. Navigate to the following page: Setup -> Tracking Code
    2. Copy your Wicked Tracking Code by pressing the Copy Code button
  2. Login to your Shopify Account
    1. Navigate to the following page: Online Store -> Themes

      1. Locate your current theme, and press the Actions button

      2. Select  Edit Code from the dropdown menu

    2. Navigate to the following file: Layout Folder -> Theme.Liquid 
      1. Locate the following closing tag:

        </head>
      2. In the row directly above the closing tag, paste your Wicked Tracking Code

      3. Press the Save button

  3. Now, add our Custom Tracking Code to your Checkout Page. See Guide.
That's it for your tracking setup!

Step 2 - Validate Tracking

  1. Copy the URL of your Shopify homepage
  2. Place the URL in your Wicked Tracking Validation Tool
    For more information: How to use the Tracking Validation Tool


Step 3 - Send your Contacts & Orders to Wicked Reports

Choose one of the methods to send your contacts and orders to Wicked Reports. Here, we walk you through all four options:

  1. Option #1: Custom API (Strongly Recommended)
  2. Option #2: Shopify Webhooks 
  3. Option #3: Zapier
  4. Option #4: Manual CSV Upload

If you're sending data through options 1, 2, or 3, then be sure to enable the API so we can receive that data. Here's a quick walk-through on how to do that.

Option #1 - Custom API (Strongly Recommended)

Since a native integration isn't available for multiple Shopify stores, you'll need to send in contacts, orders, and products directly through to us. To do this, we recommend setting up a custom API.

View our API Documentation

Setting up a custom API can be complex and will require the use of a developer. However, this is the most robust, customizable, and reliable solution to pass through data into Wicked Reports. You can use the API to pass through all past, present, and upcoming:

Once you pass through all of the data above, you're additional Shopify store will be all setup and good to go.

Option #2 - Shopify Webhooks

Shopify Webhooks only sends present and upcoming data into Wicked Reports. If you go this route, then you won't have historical data in your account for this store by default. That's why we recommend setting up an API.

Setting up Shopify Webhooks is a technical process and it has it's own unique challenges. The number one challenge with this method is that it does not automatically pass through historical data.

  1. If historical data from your additional store does not matter, then you can move forward with this route.
  2. If historical data from your additional store does matter, then you can upload historical data manually. However, this will create more complexity in your setup and you'll need to contact our support team to assist you through the process.

If you'd like to move forward with sending present and upcoming data into Wicked Reports via the Webhook solution, follow the steps outline below.

PART 1 of 2 - Setup your Webhooks

  1. Login to your Shopify Account
  2. Navigate to the following page: Settings -> Notifications
  3. Press the Create a Webhook button
    Note: This button is located at the bottom of the page, in the Webhooks section.
  4. In the popup menu, add the following Contact webhook:
    1. Event: Customer creation
    2. Format: JSON
    3. URL: https://api.wickedreports.com/webhook/ClientName/Shopify?data=contact
      Note: Replace ClientName with your Client Name.
    4. Webhook API version: 2022-04 (Latest)
      Note
      : This field updates frequently - just use the "Latest" version
      1. Press the Save button
  5. In the popup menu, add the following Order webhook:
    1. Event: Order creation
    2. Format: JSON
    3. URL: https://api.wickedreports.com/webhook/ClientName/Shopify?data=order
      Note: Replace ClientName with your Client Name.
    4. Webhook API version: 2022-04 (Latest)
      Note: This field updates frequently - just use the "Latest" version
      1. Press the Save button
  6. In the popup menu, add the following Product webhook:
    1. Event: Product creation
    2. Format: JSON
    3. URL: https://api.wickedreports.com/webhook/ClientName/Shopify?data=product
      Note: Replace ClientName with your Client Name.
    4. Webhook API version: 2022-04 (Latest)
      Note: This field updates frequently - just use the "Latest" version
      1. Press the Save button
  7. In the popup menu, add the following Order Payment webhook:
    1. Event: Order Payment
    2. Format: JSON
    3. URL: https://api.wickedreports.com/webhook/ClientName/Shopify?data=payment
      Note: Replace ClientName with your Client Name.
    4. Webhook API version: 2022-04 (Latest)
      Note: This field updates frequently - just use the "Latest" version
      1. Press the Save button

PART 2 of 2 - Verify that your Webhooks are setup properly

  1. Locate the recently created Customer Creation Webhook
    1. Press the Send Test Notification button
      1. This sends a test contact to Wicked Reports. To review your test, go to the following page within Wicked Reports: API & Uploaders -> API Verification. Then, filter by CONTACT, TODAYS DATE, LIVE MODE, and BY DATE ADDED. If the Shopify/Webhook data displays, you ran a successful test!
        Note: If you do not see your data, please note that our API verification page updates every ~30min
  2. Locate the recently created Order Creation Webhook
    1. Press the "Send Test Notification" button
      1. This sends a test order to Wicked Reports. To review your test, go to the following page within Wicked Reports: API & Uploaders -> API Verification. Then, filter by ORDERS, TODAYS DATE, LIVE MODE, and BY DATE ADDED. If the TestCart data displays, you ran a successful test!
        Note: If you do not see your data, please note that our API verification page updates every ~30min
  3. Repeat this process for your Product and Order Payment Webhooks


OPTION #2 - Zapier

Zapier only sends present and upcoming data into Wicked Reports. If you go this route, then you won't have historical data in your account for this store by default. In addition, our zapier integration has a limitation of product per order. So, if products matter to you, then I'd strongly recommend setting up an API.

Setting up Zapier is a technical process and it has it's own unique challenges. The number one challenge with this method is that it does not automatically pass through historical contact/order/product data. The second most common challenge is that it has limits on how much product data it can push through. 

Historical Data Challenge:

  1. If historical data from your additional store does not matter, then you can move forward with this route.
  2. If historical data from your additional store does matter, then you can upload historical data manually. However, this will create more complexity in your setup and you'll need to contact our support team to assist you through the process of uploading historical orders and products.

Product Data Challenge:

  1. If product data from your additional store does not matter, then you can move forward with this route.
  2. If product data from your additional store does matter, then you should not use Zapier (due to the product limitation) 

If you'd like to move forward with sending present and upcoming data into Wicked Reports via the Zapier solution, follow the steps outline below.

 


PART 1 of 2 - Create a Zap for Contacts

  1. Login to your Zapier  account
  2. From the left navigation bar, press the Create Zap button
  3. Within the Trigger Step's Choose App and Event section:
    1. Set the App field to Shopify
      Note: You may select a different payment software, if required.
    2. Set the Event field to New Customer
    3. Press the Continue button
  4. In the Choose Account section:
    1. Click into the Shopify Account field and press the Connect A New Account button
      Note: Alternatively, use an account that's already connected.
    2. Enter the URL of your Shopify Store
    3. Press the Yes, Continue button
  5. In the Test Trigger section:
    1. Press the Test Trigger button
    2. Press the Continue button
  6. Within the Action Step's Choose App and Event section:
    1. Set the App field to Wicked Reports
    2. Set the Event field to Create Contact
    3. Press the Continue button
    4. Customize the Contact with these required fields. Once complete, press continue
      NOTE: Some of these fields will have dropdown options. Do your best to choose the most applicable to your business, as they are dynamically generated by Shopify.
      1. Source System - Example: "Zapier - <Shopify Contacts>"
        This way, when troubleshooting, your team & ours will know the data is coming from Zapier and which contact system the data is sending from
      2. Contact ID - this should be available via the dropdown options, though can be any UNIQUE value
      3. CreateDateTime - Type in the word: "NOW"
      4. TimeZone - Required if you do not use NOW as the Create Date Time. This must be in UTC format and match the UTC timezone of your source system (e.g. If Easter Standard Time, then use UTC-5). You must update this field as timezones change with Daylight Savings. For example, EST (Eastern Standard Time) is UTC-5 part of the year and UTC-4 part of the year.
      5. Email -  this should be available via the dropdown options
  7. After completing the steps above, select Test & Review
    wicked reports How to Create Contacts with Zapier
    This sends a test to Wicked Reports. To review your test, go to API & Uploaders > API Verification. Then, filter by TEST and the email address used in your Zapier test. If the data displays, you ran a successful test! (If you do not see your data inside Wicked Reports within 45minutes, contact live chat or support@wickedreports.com)
    wicked reports How to Create Contacts with Zapier
  8. Now, hit the Publish Zap button!


PART 2 of 2 - Create a Zap for Orders

  1. Login to your Zapier  account
  2. From the left navigation bar, press the Create Zap button
  3. Within the Trigger's Choose App and Event section:
    1. Set the App field to Shopify
    2. Set the Event field to New Order (Any Status)
    3. Press the Continue button
  4. Within the Choose Account section:
    1. Click into the Shopify Account field and press the Connect A New Account button
      Note: Alternatively, use an account that's already connected.
    2. Enter the URL of your Shopify Store
    3. Press the Yes, Continue button
  5. Within the Test Trigger section:
    1. Press the Test Trigger button
    2. Press the Continue button
    3. Setup your ZAPs Action
  6. Within the Choose App and Event section:
    1. Set the App field to Wicked Reports
    2. Set the Event field to Create Order
    3. Press the Continue button
  7. In the Choose Account section:
    1. Click into the Wicked Reports Account field and press the Connect A New Account button
      Note: Alternatively, use an account that's already connected.
  8. Within the Set Up an Action section:
    1. Customize the Order with these required fields. Please note, some of these fields will have dropdown options. Do your best to choose the most applicable to your business, as they are dynamically generated by Shopify.
      1. Source System - Example: "Zapier - <Shopify Orders>"
        This way, when troubleshooting, your team & ours will know the data is coming from Zapier and which order system the data is sending from
      2. Customer Email -  this should be available via the dropdown options
      3. Order ID - this should be available via the dropdown options. Example:  "Customer last order id"
      4. Order Total - this should be available via the dropdown options. Example: "Total price" 
      5. Order Date Time - Type in the word: "NOW"
      6. Refund - Must be formatted as: "Yes" or "No"
      7. Order Time Zone* - *Required if you do not use "NOW" in the Order Date Time field. This must be in UTC format and match the UTC timezone of your source system (e.g. If Easter Standard Time, then use UTC-5). You must update this field as timezones change with Daylight Savings. For example, EST (Eastern Standard Time) is UTC-5 part of the year and UTC-4 part of the year.
      8. SubscriptionID* -this should be available via the dropdown options
        *This field is required for subscription orders.
        How does Wicked handle subscriptions?
      9. Product ID* - this should be available via the dropdown options
        *This field is only required if you want your products to populate in our Product Report. 
      10. Product Name* - this should be available via the dropdown options. Example: "Basket O' Berries"
        *This field is only required if you want your products to populate in our Product Report. 
  9. After completing the steps above, select Test & Review
    wicked reports How to Create Contacts with Zapier
    This sends a test to Wicked Reports. To review your test, go to API & Uploaders > API Verification. Then, filter by TEST and the email address used in your Zapier test. If the data displays, you ran a successful test! (If you do not see your data inside Wicked Reports within 45minutes, contact live chat or support@wickedreports.com)
    wicked reports How to Create Contacts with Zapier
  10. Now, hit the Publish Zap button!

Option #4 - Manual CSV Upload

If you go the route of manually importing your data, then you can disable HTTP post and API from your authorizations, as it is not needed.

How to import contacts
How to import orders


4. Summary

In this article, you learned the following:

  • How to Manually Add the Tracking Code to Shopify
  • How to Validate the Tracking Code
  • How to Send Your Contacts & Orders to Wicked Reports 

It is further recommended that you:

If you have any additional questions, feel free to reach out to us at support@wickedreports.com.