Integration with Shopify Flow
Automate your store's workflows with Pareto's Shopify Flow integration. Track campaign performance, monitor discount usage, and get timely alerts—all without manual work.
What is Shopify Flow?
Shopify Flow is a free automation app that lets you build custom workflows for your store. It works like a recipe: when something happens (trigger), check conditions, then take actions automatically.
Example workflow: When a campaign expires → Check if it was successful → Send a summary email to your team
With Pareto's Flow integration, you can automate tasks based on your campaign and discount activity.
What you can automate with Pareto
Pareto provides triggers and templates to automate common marketing tasks:
- Get notified before campaigns expire so you can extend or replace them
- Track orders with Pareto discounts to measure campaign ROI
- Monitor campaign status changes to keep your team aligned
- Tag customers who use specific discount tiers
- Update inventory alerts based on campaign performance
Before you begin
Requirements
- Shopify Flow app installed (free from Shopify App Store)
- Pareto app installed and active
- Shopify plan: Plus, Advanced, or higher (required for Shopify Flow)
Permissions needed
You need staff account access with permissions to:
- Install and manage apps
- Create and edit workflows
Installing Shopify Flow
If you haven't installed Shopify Flow yet:
- Go to the Shopify App Store
- Search for "Shopify Flow"
- Click Add app
- Click Install app to confirm
- Wait for the installation to complete
Note: Shopify Flow is free and developed by Shopify.
Accessing Shopify Flow
From your Shopify admin
- Log in to your Shopify admin
- Click Apps in the left sidebar
- Click Shopify Flow
The Flow dashboard opens, showing your active and draft workflows.
Finding Pareto triggers
- In Shopify Flow, click Create workflow
- Click Browse templates
- In the search bar, type "Pareto" or browse the Marketing category
- Click on any Pareto template to preview it
Tip: You can also start with a blank workflow and add Pareto triggers manually.
Understanding Shopify Flow basics
Workflows in Shopify Flow have three parts:
1. Trigger
The event that starts the workflow. Example: "Campaign status changed"
2. Condition (optional)
A check that decides whether to continue. Example: "If campaign status is 'active'"
3. Action
What happens when conditions are met. Example: "Send email to store owner"
You connect these blocks visually in the Flow editor.
Pareto triggers
Pareto adds two triggers to Shopify Flow. Use these to start workflows based on your discount activity.
Trigger 1: Campaign status changed
When it fires: This trigger fires whenever a campaign in Pareto changes status.
Status changes that fire this trigger:
- Created
- Scheduled
- Active
- Deactivated
- Deleted
Available data variables:
After this trigger fires, these variables are available for use in conditions and actions:
Variable | Description | Example value |
|---|---|---|
| Unique ID of the campaign | |
| Current campaign status | |
| Display name of the campaign | |
| Campaign end date and time | |
Use cases:
- Alert your team when a campaign goes live
- Track campaign lifecycle by logging status changes to a spreadsheet
- Pause related ads when a campaign is deactivated
- Archive campaign data when status changes to deleted
Example workflow:
Trigger: Campaign status changed
Condition: If status = "active"
Action: Send Slack notification to #marketing channel
Trigger 2: Order with Pareto discount placed
When it fires: This trigger fires when a customer places an order that includes a Pareto discount code.
Available data variables:
Variable | Description | Example value |
|---|---|---|
| ID of the campaign that provided the discount | |
| Which products had the discount applied | |
| Which discount tier was used | |
| Total discount amount | |
| Number of items that received the discount | |
Plus all standard Shopify order variables (customer name, email, order total, etc.)
Use cases:
- Tag customers who use VIP discount tiers for segmentation
- Track ROI by logging discount value against order total
- Alert your team about high-value orders with discounts
- Update loyalty points based on discount tier used
- Trigger fulfillment rules for discounted orders
Example workflow:
Trigger: Order with Pareto discount placed
Condition: If tier_applied = "tier_3" (VIP tier)
Action: Add customer tag "VIP_Discount_User"
Pre-built template: Upcoming Campaign Expiry Alert
This template automatically notifies you 24 hours before your campaigns expire, so you never miss an opportunity to extend or replace successful offers.
What it does
Every day at 9:00 AM (in your store's timezone), this workflow:
- Checks for active campaigns ending in the next 24 hours
- Sends you an email with a summary if any are found
- Skips the email if no campaigns are expiring soon
How to find the template
- In Shopify Flow, click Create workflow
- Click Browse templates
- Search for "Pareto Campaign Expiry" or scroll through Marketing templates
- Click Upcoming Campaign Expiry Alert
- Review the preview, then click Create workflow
Screenshot placeholder: [Image showing template in the template browser]
Setting up the template
Step 1: Install the template
- After clicking Create workflow, the template opens in the editor
- Review the workflow structure:
- Trigger: Scheduled time (daily at 9:00 AM)
- Action 1: Get campaigns expiring in 24 hours
- Condition: Check if list is not empty
- Action 2: Send email notification
Step 2: Configure the email recipient
- Click on the Send email action block
- In the To field, enter the email address that should receive alerts
- Default: Uses your store owner email
- Tip: You can add multiple emails separated by commas
Step 3: Customize the email (optional)
The default email includes:
- Discount title
- End date and time
- Current status
- Summary list of all expiring campaigns
To customize the email content:
- Click the Send email action block
- Edit the Subject field
- Modify the Body field using the available variables
- Click Save when done
Available variables for the email:
{{discount_title}}- Name of the discount/campaign{{ends_at}}- When the campaign expires{{status}}- Current campaign status{{campaign_list}}- Summary of all expiring campaigns
Step 4: Adjust the timing (optional)
The workflow runs at 9:00 AM in your store's timezone by default.
To change the time:
- Click the Scheduled time trigger block
- Select your preferred time from the dropdown
- The timezone is automatically set to match your store settings
Note: The 24-hour window is calculated from when the workflow runs. If you change the time to 6:00 PM, it will check for campaigns expiring in the next 24 hours from 6:00 PM.
Step 5: Turn on the workflow
- Click Turn on workflow in the top-right corner
- The status changes from "Draft" to "Active"
- Your workflow will now run automatically every day
Screenshot placeholder: [Image showing the complete workflow in the editor]
Testing your workflow
You can test the workflow without waiting for the scheduled time:
- Open your workflow in the Flow editor
- Click the ••• menu in the top-right
- Select Run workflow now
- Check your email inbox for the notification
Tip: If you don't receive an email, make sure you have campaigns expiring in the next 24 hours.
Customization ideas
Change the alert window:
- Check 3 days ahead instead of 1 day
- Modify the date calculation in Action 1
Add additional actions:
- Send a Slack notification to your team
- Create a task in your project management tool
- Update a Google Sheet with campaign data
Filter by campaign type:
- Add a condition to only alert for specific campaign types
- Use campaign name patterns (e.g., campaigns starting with "VIP")
Common use cases
Here are popular workflows you can build with Pareto triggers:
1. Tag high-value discount users
Goal: Identify customers who use premium discount tiers
Trigger: Order with Pareto discount placed
Condition: If tier_applied = "tier_3"
Action: Add customer tag "Premium_Shopper"
Why this helps: Segment customers for future VIP campaigns
2. Track campaign performance in Google Sheets
Goal: Log every campaign status change for analysis
Trigger: Campaign status changed
Action: Add row to Google Sheet
- Column A: Campaign name
- Column B: Status
- Column C: Timestamp
- Column D: End date
Why this helps: Build historical data for reporting and insights
3. Alert team when big discount orders come in
Goal: Get notified about orders over $500 with discounts
Trigger: Order with Pareto discount placed
Condition: If order total > $500
Action: Send Slack message to #sales channel
Why this helps: Your team can provide VIP customer service immediately
4. Auto-pause Facebook ads when campaigns end
Goal: Stop wasting ad spend when offers expire
Trigger: Campaign status changed
Condition: If status = "deactivated" OR status = "deleted"
Action: Send HTTP request to Facebook API (pause ad set)
Why this helps: Ensure your ads don't promote expired offers
5. Send follow-up email to discount users
Goal: Re-engage customers who used a specific campaign
Trigger: Order with Pareto discount placed
Condition: If campaign_id = [specific campaign]
Action: Add customer to email list "Spring_Sale_2024_Buyers"
Why this helps: Build targeted audiences for future campaigns
Tips and best practices
Start simple
Build workflows one at a time. Test each thoroughly before creating the next.
Use descriptive names
Name your workflows clearly: "Alert: VIP Campaign Expiring" is better than "Campaign Flow 1"
Monitor your workflows
Check the Flow dashboard weekly to see which workflows are running and catch any errors.
Test with real data
Use the "Run workflow now" feature to test with actual campaign and order data before going live.
Set up error notifications
In each workflow, add a final action to email you if something fails. This prevents silent errors.
Keep email lists updated
When using the email action, regularly review recipient lists to keep them current.
Use timezone awareness
Remember that scheduled workflows run in your store's timezone. Adjust timing if your team is in different zones.
Document your workflows
Add a note in each workflow describing what it does and why you built it. Future you will thank you.
Troubleshooting
Workflow isn't triggering
Check these items:
- Is the workflow turned on?
- Open the workflow and verify status is "Active" not "Draft"
- Is the trigger event actually happening?
- For campaign status changes: Make a test campaign and change its status
- For order triggers: Place a test order with a Pareto discount
- Are your conditions too restrictive?
- Temporarily remove all conditions and see if the workflow fires
- Add conditions back one at a time to find the issue
- Check the workflow run history:
- Open your workflow
- Click the Runs tab
- Look for error messages or failed runs
Email notifications aren't arriving
Try these solutions:
- Check the email address
- Open the Send email action
- Verify the recipient email is correct
- Check for typos
- Look in spam/junk folders
- Flow emails might be filtered by your email provider
- Add [email protected] to your contacts
- Verify the condition is met
- Check workflow runs to confirm the condition evaluated to "true"
- If the condition is "false," the email won't send
- Test with a simple workflow
- Create a basic workflow: Trigger → Send email (no conditions)
- If this works, your email settings are fine
Data variables are empty or incorrect
Troubleshooting steps:
- Check variable spelling
- Variable names are case-sensitive
- Use exactly:
campaign_id, notCampaign_ID
- Verify the data exists
- Some variables are optional (like
ends_at) - Check the trigger source to confirm data is available
- Some variables are optional (like
- Use the correct format
- Dates: Use Flow's date formatting functions
- Lists: Use "Get a property of each item" for arrays
- Review in workflow runs
- Open a workflow run from the Runs tab
- Expand each step to see actual variable values
Scheduled workflows run at wrong time
Solution:
- Check your store's timezone
- Go to Settings → General in Shopify admin
- Scroll to "Store details" → "Timezone"
- Scheduled workflows use this timezone
- Verify Daylight Saving Time
- Some regions observe DST, which shifts times by 1 hour
- Adjust your workflow schedule seasonally if needed
- Allow time for processing
- Workflows may run a few minutes after the scheduled time
- This is normal and doesn't affect functionality
Need more help?
Shopify Flow resources:
- Shopify Flow documentation
- Shopify Community forums
Pareto support:
- Contact our support team through the Pareto app
- Email: [Your support email]
- Check our knowledge base at [Your docs URL]
What's next?
Now that you've set up Shopify Flow with Pareto, explore these features:
- Create custom workflows using Pareto triggers
- Combine multiple triggers for complex automation
- Connect other apps to build powerful multi-step workflows
- Review workflow analytics to optimize your automation
Updated on: 20/03/2026
Thank you!