Shopify Plugin

Checkout Champ provides the ability to automatically pull all Shopify products and push variant metafields back to Shopify.

The Shopify cart page must then be manually edited to redirect orders to the CheckoutChamp checkout page.


Step 1 - Login to your Shopify Admin site and follow these instructions

Navigate to Shopify Admin → Apps and then click “Develop apps for your store”

Click "Allow custom app development"

Click “Allow custom app development” again

Click "Create an app"

You will be prompted to specify a name for the app (ProductSync) and a developer email (prefilled with the current logged in Shopify user).

Next, configure the scopes for the Admin API.

Choose the following scopes:

write_customers

write_shipping

read_customers

read_shipping

write_discounts

write_assigned_fulfillment_orders

read_discounts

read_assigned_fulfillment_orders

write_inventory

write_custom_fulfillment_services

read_inventory

read_custom_fulfillment_services

write_locales

write_fulfillments

read_locales

read_fulfillments

read_locations

write_merchant_managed_fulfillment_orders

read_merchant_managed_fulfillment_orders

write_order_edits

read_order_edits

write_third_party_fulfillment_orders

read_third_party_fulfillment_orders

write_orders

read_orders

write_price_rules

read_price_rules

write_product_listings

read_product_listings

After the scopes are configured, click “API Credentials” and then “Install” to install the custom app to your store.

After the custom app has been installed on your store you should see your API Access Token which is needed for Step 2.

You will only be able to reveal the token one time. After clicking “Reveal token once” you will see your Access Token value. BE SURE TO SAVE THIS, YOU CANNOT VIEW IT AGAIN. IF YOU LOST YOUR ACCESS TOKEN YOU WILL HAVE TO CREATE A NEW APP.

Still have Shopify Private Apps? Click here!

1. When logged into the Admin site, click on “Apps”

3. From the Private Apps screen, click on the “Create a new private app” button.

4. In the App Details screen, enter a name for the app and a contact email. Please set the permissions for all boxes to “Read and write” and make sure you choose the latest version of Shopify’s API. Please expand the permission scope in the StoreFront API section to allow the CRM to send order data to your shopify store. Once done hit the purple “Save” button.

5. Once the app has been saved your API key and Password will become visible. Please save these as they are required for the plugin setup in the CRM.

After this is complete, please proceed to Step 2.

Step 2 - Enter credentials in Checkout Champ

Add a new checkout and then click the Shopify option. Add Store URL and AccessToken and then click the Sync Products button.

The API Key, and API Password is only needed for Private Apps. These can only be entered on the CRM side under Admin → Plugins → Data Sources

After you sync the products, follow the rest of the setup wizard.

When the funnel visualizer is displayed, you can click the gear icon on the Shopify page to make plugin adjustments and/or resync Shopify products.

storeURL = Required. Shopify store URL (minus the https://). This is NOT the custom domain assigned to the store.

(This url will always end in .myshopify.com. Do NOT use the URL of your live store/Custom Domain)

AccessToken = Required for Custom Apps. Generated in Step 1 above

API_key = Required for Private Apps. Generated in Step 1 above

API_password = Required for Private Apps. Generated in Step 1 above

campaignId = Optional. In most cases leave this blank to assign the Shopify products to a new funnel/campaign. Enter a campaignId if you want to sync products into an existing campaign.

gatewayId = Optional. The merchant account to assign to the CRM campaign products that will be created from the Shopify products. Entering a value here will save the effort of manually editing the campaign products to assign a merchant account. Use the CRM to find your merchant account on the MID List (CRM > Merchants > Gateway List). To use an ATRI profile, enter “profile-###”, replacing ### with the ATRI profile Id.

sendInitialOrders = Optional. Use this to automatically send successful new orders back to the Shopify. This will send all successful new orders on the campaign. It is advised to use the campaign for Shopify orders only, if sending orders back to Shopify.

sendRebillOrders = Optional. Use this to automatically send successful rebill orders back to the Shopify. This will send all successful rebill orders on the campaign.

sendTracking = Optional. Use this to populate Shopify with tracking numbers from CheckoutChamp. Do not use this in conjunction with pullTracking. Fulfillment must be done in one platform only.

pullTracking = Optional. Use this to populate CheckoutChamp with tracking numbers from Shopify. If products are going to ship from Shopify, set those products to System Fulfillment in CheckoutChamp. This option will then pull the tracking numbers from Shopify and mark the products as Shipped in CheckoutChamp. This option will also pull Shopify inventory levels into CheckoutChamp. Must have sendOrders checked to pull tracking from Shopify

pullVariantAsProduct = Optional. The CRM will pull all Shopify variants in as their own base products. Please discuss with your Account Manager if you need to change this setting.

sendEmailReceipt = Optional. Determines whether we will send a tag to Shopify letting them know to send the email confirmation. Allows for the tag being sent always, never, or only for recurring/one-time orders.

doNotSendRefund = Optional. If checked then CheckoutChamp will not send refund data back to Shopify.

syncCoupons = Optional. If checked this will sync coupons from Shopify every hour. More details are here.

taxPercent = Optional. Tax percentage that should be taken off Shopify base price when syncing products. This is for stores with tax embedded in product price, such as VAT. In most cases a corresponding sales tax profile must be created on the CheckoutChamp campaign to calculate the tax at checkout.

orderTags = Optional. Use this to tag orders exported to Shopify. Multiple tags can be entered separated by commas. There are several reserved words to send special tags:

  • product_tags - send the tags from each product on the order

  • payment_tags - send the payment type

  • funnel_name - send the funnel name

  • page_name - send the page name

subscriptionTag = Optional. Use this to tag a subscription customer in Shopify. Enter one tag only. The tag is placed on the customer when a subscription is active. The tag is removed when all subscriptions are cancelled or recycled.

secretKey = Optional. Value from Shopify which allows CheckoutChamp to listen for refunds triggered within Shopify so that CheckoutChamp can perform the refund.

updateInventory = Optional. Choose to decrement Shopify inventory when an order is sent. Choose to decrement always or to follow inventory policy at Shopify. This does not restock inventory when a refund or cancellation is done in CheckoutChamp.

autoSync = Optional. Specify an interval in minutes to autosynchronize products. Minimum is 60 minutes. Set to 0 to clear.

collectionId = Optional. Specify a Shopify collection ID to sync. Set to 0 to clear. Syncing a collection affects only the products in the collection. Products synced previously are unaffected. The collection can be changed (or removed) as often as needed. For example, enter a collection and sync products. Then enter another collection and sync products again. Now both collections are synced to CheckoutChamp.

Shopify orders will export to Shopify immediately after the customer reaches your Thank You page, or once the customer closes out the funnel. Rebill orders will also send to Shopify immediately. Beyond that, CheckoutChamp has a service that runs every 12 minutes to send orders to Shopify.

If a customer does not reach the Thank You page (including manual Order Entry orders) then CheckoutChamp holds the order for 20 minutes (from the order date) before the service can export the order. This means that when the service runs, it will only pick up Shopify orders that are older than 20 minutes. Once the order IS older than 20 minutes the service will send it.

Since the service runs every 12 minutes, that means the orders who didn’t reach the Thank You page (or didn’t close the funnel) will export, on average, about 6 minutes AFTER the 20 minute hold.

Upsell products that are purchased after the order has gone to Shopify will create a new order at Shopify immediately upon completion of the upsell. If you decide to send your orders back to Shopify, please note that Shopify’s API may reject the order. In this case we will send notification emails to the emails listed in the Notify Email Account Settings. These notifications will send out every 20 minutes until the issue is fixed. This is to ensure you are aware of any issues with your orders reaching Shopify so they can be addressed.

Shopify order export failed for ********** due to "Internal Server Error"

This is a Shopify issue, the system will attempt to resend the orders until they go through.

The Shopify Plugin contains a Synchronization Status which updates as the Shopify Sync progresses. These statuses can be found on the CRM side of your account, under Admin → Plugins → Data Sources → Shopify Plugin.

The following statuses will show in the Synchronization field: Submitted: Shopify sync has been submitted but has not started yet. This happens as soon as you hit the blue “Sync Products” button.

In Progress: Shopify sync has started and is currently in progress. At this point your shopify products should be importing into Konnektive.

Completed: Shopify sync is completed. All Shopify products have been pulled into Konnektive and variant metafields have been updated in Shopify.

Failed: This status will display if the Shopify sync fails for any reason. Most cases it is due to the merchant client app not granting Konnektive proper permissions to hit their API.

Depending on how many products reside inside Shopify, it may take a little time for the sync to complete.

Common Error Responses:

Moved Permanently - This typically occurs when the wrong storeURL is entered into the plugin. Make sure to use the default storeURL that was provided by Shopify when your account was first created.

When complete you can view the imported products and variants by clicking CRM at the top of Checkout Champ and then navigate to CRM→Products and CRM→Campaigns

Step 3 - Checkout Page, Upsell/Downsell Pages, Thank You Page

If there is not already a Checkout page in your funnel, select the Checkout page option from the left panel and drag it onto the canvas. Select a template and customize the Checkout page.

Draw an arrow between the Shopify page and the Checkout page.

Add Upsell, Downsell and Thank You pages to the funnel as needed. Connect the pages with arrows and customize each page as needed.

When finished be sure to Publish your funnel.

See here for Checkout Redirect instructions.

Shopify Checkout Redirect - Standard Cart

Last updated