Overview
If you're not using our public Shopify App, you can still integrate RaveCapture with your store using Shopify's Custom App functionality. This setup is ideal for merchants who:
Have an existing RaveCapture account and are migrating onto Shopify
Require strict control over app permissions
Prefer manual control over script installation and product sync
The custom app supports order-based review requests, widget installation, and basic product syncing through order activity and widget loading. However, it does not support automatic GraphQL-based product syncing or access to the embedded Shopify Dashboard UI.
Note: This method is technical and best suited for advanced users. If you’re new to RaveCapture, we recommend starting with the Shopify Public App. If you're already using the Public App, you do not need to follow this guide.
Step-by-Step Setup
Step 1: Create a Custom App in Shopify
Log into your Shopify Admin.
Go to Apps > App and sales channel settings.
Click Develop apps.
Click Allow custom app development.
Click Create an app.
Give the app a name (e.g., "RaveCapture Integration") and assign a developer.
Click Create app.
Step 2: Configure API Access
In your custom app, click Configure Admin API scopes.
Grant the following permissions:
read_orders
read_products
assigned_fulfillment_orders
customers
draft_orders
fulfillment_services
merchant_managed_fulfillment_orders
online_store_pages
product_listings
themes
third_party_fulfillment_orders
Save the changes.
Step 3: Install the App
Go to the API Credentials tab of your app.
Click Install App.
Click Reveal Secret.
Step 4: Connect the App in RaveCapture
Log into your RaveCapture account.
Go to Settings > Integrations > Shopify > Direct Integration here - https://app.ravecapture.com/settings/integrations/shopify_direct_integration.
Shopify Store URL
Insert API Key in the
Shopify API key
fieldInsert API Secret in the
Shopify Password
fieldEnable Shopify Integration.
Save the connection.
Step 5: Install Display Widgets (Manual Setup)
The custom app does not auto-install widgets. You must manually add display widgets to your Shopify theme.
Add the RaveCapture JavaScript
Paste this code into your Shopify theme's <head>
section:
<script>trustspot_key = 'YOUR-RAVECAPTURE-KEY';</script> <script async src="https://app.ravecapture.com/assets/js/trustspot_product_reviews.js"></script>
Install the Main Product Review Widget
Place the following widget on your product page template (e.g., product.liquid
):
<div class="trustspot trustspot-main-widget"
data-product-sku="{{ product.id }}"
data-name="{{ product.title | escape }}"
data-url="{{ shop.url }}{{ product.url }}"
data-image-url="{{ product.featured_image | product_img_url: 'large' |replace: '?', '%3F' | replace: '&','%26'}}"
data-description="{{ product.description | escape }}"></div>
Add Inline Stars (Optional, yet Recommended)
Product Inline Stars:
<div class="trustspot-inline-product" data-product-sku="{{ product.id }}"></div>
Place directly below {{ product.title }}
in your product template.
Category Inline Stars:
<div class="trustspot-inline-category" data-product-sku="{{ product.id }}"></div>
Place in the product loop file (e.g., product-loop.liquid
), directly under the product title.
Additional Notes & Limitations
No Product Sync Button: The custom app does not support full product syncing via GraphQL. Products are created/updated only when:
An order is submitted to RaveCapture
A widget loads on a product page
To bulk edit products, use the in-app Product Library or contact support to upload a CSV.
No Delivered Status: The review request trigger is based on order submission (not fulfillment events like "Delivered").
No Shopify Dashboard UI: The custom app does not add RaveCapture widgets into your Shopify admin panel.
No public app billing: If you wish to migrate to the public app for easier setup and sync, contact support.
Need Help?
If you're unsure which app to use or need help with installation, reach out to us via live chat or email support@ravecapture.com. We're happy to help ensure your integration runs smoothly.