StoreConnect is built to scale with the volume of paid orders coming into your site, by automatically adding more servers and load balancing.
Common causes of performance issues
Common causes of slow performance can usually be traced back to several factors, including: inefficient workflows, flows, process builder or poorly structured custom Apex within your Salesforce environment (see below).
Minimize performance risk
To avoid risk, we recommend contacting our support team if you are expecting a significant spike in demand, such as at sales times or following a marketing campaign. However, automatic scaling will automatically kick in, even if you don't.
If you are having high traffic volume without a comparable volume of shared success fees, and have site speed issues, you can purchase high performance servers to handle the load. The cost of better performance weighed against increased shared success fees will likely make it worth it.
Optimize Salesforce performance
When StoreConnect accepts an order from one of your customer, it will usually create or update one of the following records for each order:
- Account
- Contact
- Order
- OrderItem record per product entry in the cart
- OrderCampaign record per UTM source clicked prior to purchase
- Payment record
- Shipping record (if shipping selected)
- CampaignMember record per Store Campaign signed up to
- Attendee record per booking product
- Subscription record per subscription product
Any custom flows, workflows, process builder and custom Apex you have within your Salesforce org should be optimized so as to not delay StoreConnect from writing to the above records. For example, if you have customizations within your Salesforce Org that take 10 seconds to complete writing to the above objects, then your maximum order rate from StoreConnect will be limited to less than 6 orders per minute.
This is because StoreConnect must write orders to Salesforce sequentially to ensure consistency in Salesforce with regards to stock levels, account creation and security.
Issues with long running Salesforce custom code
If your Salesforce organization slows down the process of creating objects, you will see delays in the order being placed by the customer and it appearing within Salesforce. This is because StoreConnect backlogs the orders waiting for your Salesforce org to finish writing.
These delays will be as long as it takes for your Salesforce org to complete the record creation. Note that the orders will not be lost, just delayed in synchronizing to Salesforce.
Recommended approach for custom actions
Here's some recommendations to minimize performance issues when using custom actions:
- Fire any custom code in a queueable action after StoreConnect successfully creates a record.
- Check that custom code that runs before create or before update on the above record types, completes within less than a tenth of a second (0.1s) to support your StoreConnect store to handle high traffic volume.
- Ask your Salesforce developers to follow the Salesforce Apex Code Best Practices to ensure your code runs as efficiently as possible.
- For custom actions based on generated or updated records in your StoreConnect store, use highly optimised custom Apex instead of Flows, Workflows or Process Builder actions.
Keeping StoreConnect record creation as fast as possible will ensure there is no backlog on orders and your customers receive their notification emails and payments as fast as possible.
Custom themes and performance
Your StoreConnect theme impacts how fast your site loads and how well it handles busy periods. Large themes, unoptimized images or files, and complicated Liquid code can slow down pages and make the site harder for users to browse. Keeping the theme lightweight and efficient helps the site load quickly and perform better under heavy traffic.
For example, the Clean Theme is fast because it keeps everything lightweight and efficient. It uses fewer CSS and JS files by relying on compiled, minified assets and StoreConnect’s native CSS framework, plus a single fast-loading font. It includes only the templates and snippets that are actually needed, which reduces theme size and speeds up Liquid rendering.
The theme avoids heavy libraries, unnecessary plugins, and duplicate scripts, keeping render-blocking code to a minimum. Its templates use shorter loops and optimized logic to improve server-side performance, and its content blocks are built to be clean and efficient, loading quickly without extra layout weight.