# Retainful - WooCommerce Plugin Settings

Retainful provides several customization options for cart tracking, order management, and additional features. \
\
Here’s what each setting means and how you can use it effectively:

<figure><img src="/files/XkLo2Pi229CMcU9HAUSv" alt="Retainful plugin settings"><figcaption><p>Retainful plugin settings</p></figcaption></figure>

### Cart Tracking Engine

> **JavaScript (Default, Recommended)**: This is the default and recommended setting for most stores to track carts in real time.
>
> **PHP**: Use this option only if JavaScript tracking doesn’t work.

### Use Only Webhooks for Tracking Order Events in the Background

> * **Yes/No**: Turning this on disables real-time tracking of order activities (like order placement). Instead, WooCommerce webhooks send order details to the Retainful API in the background.
> * **Important**: Make sure your **WooCommerce cron setup** is working correctly. If it isn’t, order data won’t reach Retainful, and automated workflows won’t trigger.

### **Track Zero Value Carts/Orders**:

> * Enable this option to track carts or orders with a value of 0 (e.g., free trials or test carts).

### **Consider ‘On-Hold’ Order Status as Abandoned Cart**:

> * Enable this if you want orders marked as "On-Hold" to be treated as abandoned carts.

### **Consider ‘Canceled’ Order Status as Abandoned Cart**:

> * Enable this if you want canceled orders to be included as abandoned carts.

### **Consider ‘Failed’ Order Status as Abandoned Cart**:

> * Enable this if you want failed orders to be marked as abandoned carts.

### **Fix for Cart Sync Not Working**:

> * Use this option if you don’t see carts appearing in your Retainful dashboard.

### Audience Building and Consent Settings

1. **Enable Signup Forms/Popups**:

> Enable this option if you’re using Retainful’s signup forms or popups to grow your audience list.

2. **Marketing Consent**:

> * **Implicit**: Assumes customer consent without an explicit opt-in.
> * **Explicit**: Adds an opt-in checkbox at checkout to capture customer consent.
> * **Consent Field Position**: Choose where the opt-in checkbox appears at checkout.
> * **Example Checkbox Text**: *"**Keep me up to date on news and exclusive offers**."*

{% hint style="danger" %}
**NOTE**\
\
Under GDPR, informing users about real-time cart tracking is mandatory.
{% endhint %}

### IP Filtering and Debugging

1. **Enable IP Filter**:

> * Use this to exclude specific IP addresses from cart tracking.
> * Format: Enter IPs as `192.168.1.10,192.168.1.11` or use ranges like `192.168.*` or `192.168.1.1 - 192.168.1.255`.

2. **Enable Debug Log**:

> * Use this option to generate logs for debugging issues with Retainful.

### Advanced Settings

**Session Handler**:

> * Default: **WooCommerce Session**.
> * Only change this to **Cookie** if instructed by Retainful Support.

**Enable AfterPay Payment Gateway Support**:

> * Use this option only if you have the AfterPay plugin installed.

**Varnish Cache Compatibility**:

> * Use this option if your store uses server-side caching with Varnish.

{% hint style="danger" %}
**IMPORTANT**\
\
Some features might stop working if this is enabled. Check with Retainful Support before using it.
{% endhint %}

{% hint style="success" %}
**Need More Help?**&#x20;

We’re here to make things easier for you!

* Email Us: Reach out anytime at <support@retainful.com>.
* Schedule a Call: Still stuck or need a hands-on walkthrough? Book a quick session with our support team, and we’ll guide you step-by-step.

[**Schedule a call with us**](https://zcal.co/retainful/onboarding)**.**
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.retainful.com/settings/woocommerce-plugin-settings.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
