Stop Fraud in Its Tracks: Automating High-Risk Order Holds with Shopify Flow
Catching Fraudulent Orders Before They Hurt Your Business
Running an online store is exciting, but dealing with fraud? Not so much. I was just reading through a thread in the Shopify Community where a store owner, n347n, was struggling with a Shopify Flow setup designed to automatically put high-risk orders on hold. They'd seen a surge in fraudulent transactions slipping through the cracks, leading to chargebacks and lost revenue. Ouch!
It's a common problem, and thankfully, the community jumped in with some great advice. Let's break down the issue and explore how you can use Shopify Flow to protect your store.
The Problem: Shopify Flow Not Catching All High-Risk Orders
n347n's core issue was that their Flow, intended to flag high-risk orders, wasn't working consistently. Some orders were being correctly held, while others sailed right through, resulting in fulfillment of fraudulent purchases.
Here's a look at the Flow they were using:
The Solutions: Trigger Timing and Payment Capture
Several helpful suggestions came up in the discussion. One key point, raised by Worth_Analyst, was about the timing of the trigger. They suggested changing the trigger from "Order created" to "Order risk analyzed." This is crucial because it ensures that the Flow only runs after Shopify has had a chance to assess the order's risk level (Low, Medium, or High).
Think of it like this: if the Flow runs *before* the risk analysis is complete, it's essentially making a decision without all the necessary information. By switching the trigger, you're giving Shopify's risk analysis system time to do its job.
Troubleshooting Your Flow: Checking Recent Runs
Worth_Analyst also recommended diving into the "Recent Runs" list within the Flow app. This is your detective work! By examining the runs for orders that *should* have been held, you can pinpoint where the Flow is failing. Here's what to look for:
- Succeeded but no action: This suggests your conditions (like
order / riskLevel is HIGH) might be checking the data too early, before it's ready. - Trigger didn't fire: If you don't see the order in the "Recent Runs" list at all, the trigger itself isn't firing correctly.
An Alternative Trigger: "Order Created"
Maximus3 suggested using "Order created" as a trigger, but with a different troubleshooting approach. The idea is to let *all* orders go through the workflow initially. This allows you to closely monitor each step and identify exactly where the process is failing. It's a bit like a full diagnostic check.
Manual Capture: A Lifesaver for Fraudulent Orders
Worth_Analyst also highlighted a really important point about transaction fees. Shopify doesn't charge the transaction fee until you *capture* the funds. So, if you catch a high-risk order and cancel it *before* capturing payment, you save yourself the 2.9% + fee. That can really add up!
Step-by-Step: Setting Up Your High-Risk Order Hold Flow
Okay, let's put this all together into some actionable steps:
- Go to the Shopify Flow app.
- Create a new workflow.
- Set the trigger to "Order risk analyzed." (This is generally the recommended approach).
- Add a condition:
Order risk level is HIGH. - Add an action: "Hold order". You might need to create a custom action for this, depending on your specific setup. This could involve adding a tag to the order, or sending a notification to your team.
- Test your flow! Create a test order with a high-risk profile (e.g., using a VPN or a suspicious address) and see if the Flow correctly puts the order on hold.
- Monitor the "Recent Runs" list to identify any issues.
Considerations for Payment Capture
Maximus3 also brought up an interesting point: "why not change the payment capture to after fulfillment?" This is another layer of protection. By delaying payment capture until after you've verified the order, you further minimize your risk of losing money on fraudulent transactions.
Fraud prevention is an ongoing battle, but with tools like Shopify Flow and the collective wisdom of the Shopify community, you can definitely stay ahead of the game. Remember to monitor your Flows, analyze your results, and adapt your strategy as needed. Good luck!
