Abandoned Orders Not Capturing [Cart Abandonment]

Abandoned Orders Not Capturing [Cart Abandonment]

Is your Cart not capturing Abandoned Orders?

Here in this article, we will find out how to resolve the issue of Woocommerce Cart abandonment Recovery plugin not capturing the abandoned carts.

Generally, this issue is may occur due to the disabled WP CRON.

What is WP CRON?

WP-CRON is how WordPress handles scheduling time-based tasks in WordPress. It's normally used to schedule a job that is executed periodically. WordPress comes with its own CRON system which allows it to perform scheduled tasks.

Refer to this article for more information on WP CRON.

Why CRON is necessary for the plugin?

WooCommerce Cart abandonment Recovery plugin needs the CRON to capture the Abandoned Cart Orders and mark as Abandoned. 

The plugin has the cron job named as  『cartflows_ca_update_order_status_action'. This cron job runs after every fifteen minutes and checks if the order is completed or not and sets the order status accordingly. 

If you have disabled the WP CRON job from your site then it will not be able to capture the abandoned orders. So you need to enable it or you need to add the external cron job with cPanel.

How to add the CRON job using the cPanel?

Here are some articles and video that will explain how to add CRON using cPanel.

https://hostadvice.com/how-to/how-to-setup-cron-jobs-on-cpanel/https://www.greengeeks.com/tutorials/article/set-up-cron-jobs-cpanel/https://www.youtube.com/watch?v=YwpUjz1tMbA

Related Docs –

Cart Recovery Emails not Sending

How to Import the Ready-Made Templates for Flows and Steps in CartFlows?

How to Import the Ready-Made Templates for Flows and Steps in CartFlows?

In this article, you will learn how to import the ready-made Flow and the Step templates of CartFlows. Currently, we have provided the ready-made templates for the following page builders:

ElementorDIVIBeaver BuilderGutenbergThrive Architect

You can import the templates for Elementor, DIVI, Beaver Builder & Guttenberg from the CartFlows template library but for the Thrive Architect templates you need to login to your account on the website and download the ready-made templates zip from the Downloads Tab.

Now, lets see the whole process, how to import ready-made flow and step templates.

Import the Ready-Made Flows templatesImport the Ready-Made Step templatesSome Frequently Asked Questions

How to import the Ready-Made Flows templates?

Step 1: Select your favourite Page Builder that you want to design the CartFlows step pages. For selecting the page builder navigate to the CartFlows [WordPress Menu] -> Settings.

Step 2: Now, navigate to the CartFlows [WordPress menu] -> Flows.

Step 3: Click on the Add New button on the top of the screen to view the templates for the page builder that you have selected in the Step 1.

Step 4: On clicking the button a template library will be displayed in the popup containing the templates.

Step 5: Now, hover over to the template that you want to import and click on the import button. This will start importing the Flows template.

The Above steps will help you to import the ready-made flow templates for all the Page Builders that we have mentioned at the start of this article.

How to import the Ready-Made Step templates?

While importing the new ready-made templates for the steps, your page builder setting must be set otherwise this will not show the templates.

So, let』s move further and see how to import the ready-made step templates.

Step 1: Navigate to your flow in which you want to import the new step. As mentioned in the screenshot, we have used the flow name as Test Flow.

Step 2: Click on Add New Step Button. This will display the same popup but it will display you only the templates. Such as Landing, Checkout, Option, Upsell, Downsell and Thank you pages.

Step 3: A template library will be opened in the popup

Step 4: Select the step category from the menu. Using this you can decide which page template you want to import.

Step 5: Hover on the template that you want to import and click on the import button and the importing process will be started.

While importing the flow templates or step templates for the desired page builder, you might face some error messages or notices. Don』t worry, they will not be fatal just a message to know the status of the importing process. 

While importing the templates, if you face internet connectivity issues or any other issue so in that case you can just reload the page and try importing the Step / Flow again.

Frequently Asked Questions –

Below are some common error messages that  you may face while importing the templates.

Failed to import the template: This message will be displayed on the button or an error message will be generated in the browser』s console area.To fix this issue, you will need to reload the page and try importing the template again. This will refresh the cache and the library will be updated so that you can import the template again.Internal Server Error: This error denotes that there is something wrong with code execution and returned 500 Internal Server Error. To find the exact cause of this error, you will need to navigate to your server』s root directory and then to your wp-content folder. In this folder there will be a file named as debug.log file. This file stores the error messages generated while execution of the code.

Under maintenance error message: This message will be displayed in two cases The first one is that our server is under routine maintenance or there might be a request error that will be displayed in the browser』s console area. This error prevents the API call to our server to fetch the templates.

GDPR Compliance

GDPR Compliance

CartFlows offers three features where we help store owners collect data in order to serve shoppers:

Checkout FormsWe use WooCommerce checkout forms and save the data in the local storage feature of modern browsers, so if users accidentally refresh the page, the data users have typed in the form won't be lost. As far as we understand, this does not violate GDPR compliance.Thus if you wish to disable this feature then this article will help you.AnalyticsWe provide analytics feature for our customers so they can see how their Flows are working and improve accordingly. This does not track any personal data of website visitors.For tracking the flow analytics in the CartFlows, there are certain cookies are used. These cookies do not stores a any of such data which may be vulnariable to the user's website nor stores any contact data. These cookies are as follows:– 『wcf-visited-flow-『 : This cookie is used to track which flow is currently being tracked.– 『wcf-step-visited-『 : This cookie is used to track which step is currently tracked.– 『cartflows-ab-test-『 : This cookie will only be set when the A/B split test feature is enabled.

There are few more cookies that are used or registered while using the CartFlows and these cookies also do not violate GDPR compliance. Those extra cookies are as follows:

– cartflows_session_ : This cookie is set when you visit the CartFlows page. This is registered to set the unique session per user so as to make the checkout process smooth.– wcf_active_checkout : This cookie is set to determine which checkout page is currently opened and what's the cart data for that specific checkout page.

As we're not legal experts, we advise our customers to consult their lawyers on these three features CartFlows offers, for further compliance with GDPR.

For further reading regarding WooCommerce and GDPR, here is a helpful article https://woocommerce.com/gdpr/

For more information on the cookies and GDPR compliance in the Cart Abandonment Plugin, this article will help you.

How to Resolve Stripe Payment Gateway Icons Displayed in Large Size and Credit Card Fields are not Editable?

How to Resolve Stripe Payment Gateway Icons Displayed in Large Size and Credit Card Fields are not Editable?

In this article, we will help you to understand and fix the issue with the Cart Icons displaying in Large Size and the Card Fields are not editable for the Stripe Payment gateway.

There could be several reasons for this unexpected behavior. The main reason behind this issue is that the Checkout page and the Stripe』s Ajax call to get the CSS & the card fields get cached at the local & the server-side. 

As the stripe』s Ajax call is cached then the website sends the request to get the data it receives the 403 response error. 

You can find this 403 response error message in the browser』s console area. To view the console area you need to follow the below steps.

Open the page where these issues are occurringRight click the the mouse button on that page and select the inspect optionNow, select the Console tab from the opened inspector tool

Due to this 403 response error, the stripe』s JS is not fully loaded and thus does not returns any CSS file which has the CSS for the card icons and the HTML of the card fields. So, as there is no data the response is not correctly evaluated by the website it thus generates these issues on the Checkout Page.

There could be other reasons behind this issue and they are as follows –

Using a firewall plugin: Sometimes, the firewall may block the request/response if it finds any suspicious activity.The host/server is not allowing that request for other pages than WooCommerce: CartFlows page is a custom checkout page which is not the WooCommerce』s checkout page. So, usually, all the hosting providers have already excluded the default checkout page from the restriction but not the CartFlows. So you have to exclude it from the cache and other settings manually or by contacting the hosting provider.Not using the correct Cache plugin or Cache setting: Cache is a crucial part of any website. It helps websites to load faster but if that plugin is caching the dynamic pages such as cart, checkout, and the dynamic data calls then this should be excluded. Here is the article for disabling caching.Conflict with one or more plugins: If all of the above options did not solves the issue then it can be a conflict with the plugin or theme. To find out the conflict you can follow these troubleshooting steps.

Common Questions!

What is a 403 response error?

Receiving a 403 response is the server telling you, 「I'm sorry. I know who you are – I believe who you say you are – but you just don't have permission to access this resource. Maybe if you ask the system administrator nicely, you'll get permission. But please don't bother me again until your predicament changes.」

What to do if the issue is not solved?

If you have cleared the cache and excluded the CartFlows Checkout page from the server as well as a local cache and still facing the same issue then please follow the below steps.

Open the page in the new tabOpen the inspect element on that page and go to the Console tab of it.Check for any possible JS error if any.Check the file name from which the error is coming by hovering on the error or else there will be files mentioned for reference.Contact the particular author of the plugin or open a support ticket from the CartFlows website.

Note: As the Payment Gateway requests are dynamic and used to fetch the fresh data for the current user that is why they are not cached.

How to Pre-Fill the Checkout Fields via URL Parameters.

How to Pre-Fill the Checkout Fields via URL Parameters.

We are introducing a new feature to pre-fill the checkout fields via sending contact information from URL parameters. After many requests, we decided to integrate it in the CartFlows, and in this article, we will see how to set it up and how to use it.

So, let』s begin…

This feature is enabled by default in the CartFlows. So, you just need to send the parameters from the URL on the checkout page to pre-fill the checkout fields on the CartFlows checkout page.

Remember, this feature works on the CartFlows Checkout page and not on any other page.

To send the values from the URL parameters, you can use any contact form to send the values in the URL after successful submission.

Now, while using the contact form or any other medium you need to ensure that to create a proper checkout page URL so that your data will be automatically pre-filled on the CartFlows Checkout page.

For example, If you want to send the user』s email address, first name then your checkout page URl should be created as follows:

https://yourdomain.com/checkout-page/[email protected]

There are few fields names which you can use to send the data in the URL to capture it on the CartFlows Checkout page and they are listed below.

List of Billing Fields

billing_emailbilling_first_namebilling_last_namebilling_phonebilling_address_1billing_address_2billing_citybilling_postcodebilling_countrybilling_statebilling_company

List of Shipping Fields

shipping_emailshipping_first_nameshipping_last_nameshipping_phoneshipping_address_1shipping_address_2shipping_cityshipping_postcodeshipping_countryshipping_stateShipping_company

If you don』t want to use this feature then we also have provided a filter to disable this feature on the CartFlows Checkout page. Please note that disabling this feature using the filter will disable it from all the available checkout pages.

Below is the code which you can use to disable this feature. After copying this code you have to add it in your child theme』s functions.php file at the very end of it.

add_filter( 'cartflows_auto_prefill_checkout_fields', '__return_false' );

This article will help you to add the custom PHP code on your website.

How to Translate CartFlows in Your Own Language using GlotPress?

How to Translate CartFlows in Your Own Language using GlotPress?

CartFlows is 100% translation ready, comes with .po / .mo files, and can be translated using any software such as POEdit, GlotPress, Loco Translate, TranslatePress, etc. Out of them all, we recommend GlotPress.

GlotPress is an online software that is used by WordPress for translations. The best part of GlotPress is the community. Anyone can login to GlotPress and contribute in translating the project, suggest corrections, validate existing translations. As a outcome of this, projects are usually translated faster and in more accurate manner.

In the post below, I will explain how GlotPress works and how you can use it to translate CartFlows in your own language.

Step 1. Visit the GlotPress Project.GlotPress for CartFlows plugin is hosted on WordPress Repository here and CartFlows Pro can be translated here.

Step 2: Login or Register a new account.

Step 3: Choose your language from the list. (Screenshot)

On the language page, you will see the current state of translation of the language and list of other translators who might have already translated contributed in translating the project. You might find some other terms as well which might not be very obvious. So let me explain what they mean.

Untranslated: are the strings that are not yet translated by anyone and need work.Waiting: are the strings that are translated by contributors, but yet need approval by the validators.Fuzzy: is a string that is marked as fuzzy if it is translated differently by different translators. The language validator (admins) can choose the best string out of such duplicates to mark it translated.Translated: Strings that are already translated and don』t need any further work.

Step 4: Click on the name of your language to see all available strings (Screenshot)

Step 5: Click on any string and translate it Once you translate the strings, project validators take a look at them and approve them.

Once the validator approves the translations or makes updates, the latest transnational automatically appears as an update in the WordPress backend if the project is on WordPress.org Repository. For projects that are not on the WordPress.org Repository (like CartFlows Pro Addon Plugin), project developers usually ship the completed translations through their project files with the updates.

 Would you like to become a Translation Validator?

If you』re interested in becoming a validator, please get in touch with us with the details as below –

Your WordPress.org usernameYour username on our GlotPress Portal here.The locale you would like to become a validator for.Details of your previous translations, etc if you have any.

Once you submit the request, we can get you added as the translation validator. Translation validators are able to approve the translated strings so they can be shipped to all users.

 Need to add translation in your project immediately?

Should you wish to implement this translation in your website immediately, you can export the current translation file in the .po & .mo format and use it on your website by uploading it to the languages folder using FTP / SFTP with the correct naming convention.

For themes: wp-content/languages/themes/For plugins: wp-content/languages/plugins/

Correct naming convention is very important. This will make sure that WordPress understands what language you are referring to. Be sure to prefix the text domain before the language code. Capitalization is also important here.

For language codes, please refer to this list.Text domain can be found in the style.css file of the theme, or the main PHP file of the plugin.

Examples of file names for CartFlows plugin –

For German: 「cartflows-de_DE.po」 & 「cartflows-de_DE.mo」For French: 「cartflows–fr_FR.po」 & 「cartflows–fr_FR.mo」

Please note, we』re adding translation files in the /wp-content/languages/ directory. Many tutorials on other websites might ask to upload the file inside a theme or plugin』s folder. However, it』s not a recommended way as, with every theme or plugin update, you will lose all the translations and edits you have done.

How to Download and Install CartFlows Beta Versions?

How to Download and Install CartFlows Beta Versions?

While working on a major update for the CartFlows, we make it a point to release a few beta versions before the final stable product. You can try the new features, test, and share feedback, with the beta version.

We strongly recommend you to use the beta version of the plugin in a test environment only. Do not use it on a live site.

Since it is a beta version it may further come in multiple minor updates until we are perfectly sure of releasing the final version.

Things You Should Know Before Using the Beta Version

Beta releases contain the early versions of a major update. They might be released a couple of weeks or a few days before the final version. Although we make sure every version offered to you is tested, there might be some minor bugs that need to be worked on.

During the beta phase, there is a freeze on a code. This means that only the present errors and bugs will be fixed. Apart from these, any feedback requesting for a new feature will be considered only in the next major update.

Where Can You Download the Beta Version?

When beta versions are available, you can download them from your Store Account. You will find zip files for the plugin beta version.

How Can I Install a Beta Version?

You can install and get going with a Beta version in 3 easy steps.

Download the beta version from your Store Account.Now install downloaded beta version like any other plugin.Make sure CartFlows and CartFlows Pro are at latest version

How To Install CartFlows Pro?

How To Install CartFlows Pro?

Below are the steps to install the CartFlows Pro on the website.

First, login to your account on my.cartflows.com website and download the CartFlows Pro zip from Downloads Menu.Now, login to your websie and go to Plugins -> Add New.Click on upload plugin button on the top of the screen.Select the cartflows-pro.zip file and click upload.Once the zip is uploaded, you can activate the CartFlows Pro plugin on the website.

Note: CartFlows free version is required by the CartFlows Pro plugin to enable all of the Pro features.

Request Timeout Error while Importing the Flow/Step Templates.

Request Timeout Error while Importing the Flow/Step Templates.

The flow templates are not getting imported? Then you are on the right article. This will help you to fix this connection timed out error message. Let』s check what this error is about and how to fix it.

This message will be displayed while importing the flow』s ready-made templates.

This problem is a very common server related issue. In most of the cases not created by a particular theme or plugin, nor by WordPress.

WordPress uses something called cURL to communicate with other websites, specifically using this function: wp_remote_get()

This is a core WordPress function that we use to import the ready-made templates from our website to your website. When you click to import the flow, an API request is made to our templates.cartflows.com website to get the requested flow template.

If this API request is blocked then you will get the connection timeout error and the flow will not be imported.

It』s necessary for your website to communicate with our website, to ask for the ready-made template and once the API request is successfully received and processed by our server, we serve the requested flow to your website in the response of the API request..

When cURL times out, it typically means one of the two websites is blocking that communication. This can happen via firewalls or other means of server security.

To debug this issue, If you see that the Flow is not getting imported and the import button is saying Importing Template for a long time then check is there any error in the browser』s Console tab.

If you don』t get the console error then the error message will be automatically displayed on the flow import popup as displayed in the above screenshot.

To fix this issue, there are different ways. Let's check the first and the main way due to which this type of error occurred.

Make sure that the firewall or any security-related plugins are not blocking the outgoing API requests.If you are using such plugins then try disabling them for a short time.Ask your host if there are firewalls or security modules (e.g. mod_security) that could block the outgoing cURL requests.If it is blocking the outgoing API request to our server then you need to whitelist our website which is template.cartflows.com from your end so that the API call may not get blocked.If no firewall or security plugins are installed then you can check for the alternate solutions as follows.Make sure your server is running a recent version of PHP and the cURL library.Try increasing your PHP memory limit.Try increasing your cURL timeout limit.Ask your host if there is some limitation with wp-cron, or if loopback is disabled.Install the Query Monitor plugin and check the status of the HTTP API Calls in the admin page where the error is displayed.

If you are using managed WordPress hosting, then below are the solution you can try.In the managed WordPress hosting, the hosting provider restricts the execution time and the memory limit of the server, which can generate a curl 28 error message. Check with the hosting provider that the outgoing WordPress HTTP REST API requests are blocked or restricted or not. If they are restricted then ask them to exclude them from their CURL tool to solve this curl 28 error on your website

If none of the above points fixes the issue, then you will need to ask your hosting support to confirm that your server can communicate with our templates server which is templates.cartflows.com via cURL without any limitations.

If still not working then please open a support request from our website and share your website』s IP address with us so that we can check if is it banned from our server or not. But in most cases, this does not happen at our server, because our server is made to handle tons of requests of such types.

CartFlows Dynamic Offers aka Rule Engine.

CartFlows Dynamic Offers aka Rule Engine.

In the latest 1.8.0-beta-1 version of the CartFlows and CartFlows Pro, we have introduced a new feature known as Dynamic Offers aka Rule Engine.

Note: We are deprecating the Next-Step redirection option from Order Bump in the next major update. As we have introduced Dynamic Offers, you can now set the conditional redirection with more robust conditions.

Using this feature, you can set the custom redirect conditions on the checkout page to display the upsells/downsells on the basis of conditions.

For these conditional redirects, we have added many useful conditions using which you can easily achieve your requirements of showing the upsell/downsells with conditions.

In this Dynamic Offers, we have introduced grouping of the conditions, which will provide you the ease of access while setting multiple conditions and a way to group each other.

So, you might be wondering what the groups are? 

The simple explanation is that the Groups are the list of combinations of one or more conditions. In each of the groups, one condition is in the AND relation with another condition and each group is in the OR relation of another group as showing in the below Image.

You can re-order the groups according to your needs or if you want to prioritize the conditions on the checkout page. To re-order the groups, simply drag-drop the groups just like you do in the CartFlows Custom Field Editor.

Let』s see how to use this feature and its setup.

Once you update the CartFlows or install the 1.8.0 Beta version, you will get two new menus.

Dynamic Offers menu in CartFlows Checkout Setting pageCanvas menu in Flow where all of the steps are listed.

Let』s see the Dynamic Offers menu

Here is how to set up the rules.

Step 1: Navigate to the CartFlows -> Flows

Step 2: Open your flow in which you want to add/edit/update the conditions.

Step 3: Click the edit button of your Checkout Page.

Step 4: Navigate to the Dynamic Offers Menu.

Step 5: Click on the Checkbox to enable the Dynamic Offers setting and click on a small icon to see the conditions.

Step 6: Select condition, relation and compare to option to set one condition.

Step 7: Click on Add Condition button to add more condition rows.

Step 8: Click on Add Dynamic Offer to add more conditions groups.

Step 9: Click the save changes button to save the conditions.

If you want to prioritize the conditions, then drag-and-drop the groups up/down to re-order them. It is not possible to move or drag-and-drop one condition row from any of the groups and add it to another group.

You need to remove/delete that condition row and simply add it again in the second group.

Once you are redirected to desired upsell/downsell pages, you can still use the conditional redirect options on upsell/downsell for the further redirect to complete the flow.

If all of the applied conditions groups are failed or are simply not matched with the user case, then you can set a default redirect that can be used by all types of users on the store.

Let』s see what is Canvas and what is it for?

In the latest update, the new menu is introduced in the Flow named 「Canvas」.

This canvas will give you a visual representation of the rules that you have added on the Checkout page.

Currently, this canvas is just for a visual representation of flow』s steps after applying the rules but in the future, it may be used to manage the Flow, and it』s a step with redirection from that single page. 

There are few buttons on the canvas and they are as follows:

Zoom-InZoom-OutFit to ScreenFull Screen

Along with the canvas, if you press the control button and scroll up or down with the mouse wheel button it will also trigger the Zoom-in & Zoom-out features but it is for quick 0% to 100% zoom for ease of access.

While viewing the canvas in the fullscreen mode, you can click on the same button to close the fullscreen mode or simply press the control (ctrl) button from the keyboard to close the fullscreen mode.

The fit-to-Screen button will align your flow representation in the center of the canvas for full view.

Few Common Questions (FAQs)

Q- Can this be used for the pre-checkout and order bump products?Ans – Yes. It will automatically be applied to the Pre-checkout and order bump features. You need to set the product-specific conditions in the CartFlows Dynamic Offers aka Rule Engine.

Q- Can the same conditions be applied on the Upsell/Downsell pages just like the checkout page?Ans – No. These conditions are introduced for the checkout page of CartFlows. For upsell/downsell conditional redirects, we already have such a feature. Here is the article for the same.

Q- What if I set the conditions on the Checkout page as well as set the Order Bump Conditional redirect which feature will work?Ans – In this case, the Conditions added on the checkout page will be applied and used. In future updates, we will be deprecating the Order Bump Conditional Redirect feature as we have introduced the conditional redirect feature on the checkout page.

Q- Can I use A/B split test with this condition-based feature?Ans – Yes. You can use A/B split testing.