---
title: WooCommerce Settings
description: PriceFetchWP includes global settings specifically for WooCommerce product pages. These settings control how WooCommerce products connect to external price sources, when PriceFetchWP runs, what happens if a fetch fails, and how prices are loaded on the page. PriceFetchWP is designed…
url: "https://pricefetchwp.com/documentation/woocommerce-settings/"
updated: "2026-09-09"
category: Core Configuration
---

# WooCommerce Settings

PriceFetchWP includes global settings specifically for WooCommerce product pages.

These settings control how WooCommerce products connect to external price sources, when PriceFetchWP runs, what happens if a fetch fails, and how prices are loaded on the page.

PriceFetchWP is designed primarily for WooCommerce **External/Affiliate products**, but the settings below control the PriceFetchWP WooCommerce integration itself.

1. [– Custom Field Name](#custom-field-name)
   1. [How the Custom Field Works](#how-the-custom-field-works)
2. [– Adding the Custom Field to a Product](#adding-the-custom-field-to-a-product)
   1. [Important](#important)
3. [– Affiliate Product URLs](#affiliate-product-urls)
4. [– Changing the Custom Field Name](#changing-the-custom-field-name)
5. [– Run Mode](#run-mode)
6. [– Automatic Mode](#automatic-mode)
   1. [When to Use Automatic Mode](#when-to-use-automatic-mode)
7. [– Shortcode Mode](#shortcode-mode)
   1. [Important](#important-2)
   2. [When to Use Shortcode Mode](#when-to-use-shortcode-mode)
8. [– If the Price Fetch Fails](#if-the-price-fetch-fails)
   1. [Show no price](#show-no-price)
   2. [Show old price (if already exists)](#show-old-price-if-already-exists)
9. [– Delay Price Load](#delay-price-load)
10. [– Show Fetch Error Icon to Admins](#show-fetch-error-icon-to-admins)
11. [– Loading Indicator](#loading-indicator)
12. [– Quick Save](#quick-save)
13. [⚠️ Common Issues](#eb-table-content-19)
    1. [PriceFetchWP does not run on a product](#pricefetchwp-does-not-run-on-a-product)
    2. [The custom field exists but the price does not update](#the-custom-field-exists-but-the-price-does-not-update)
    3. [Automatic Mode does not work with my theme](#automatic-mode-does-not-work-with-my-theme)
    4. [The shortcode does not display a price where I placed it](#the-shortcode-does-not-display-a-price-where-i-placed-it)
    5. [The old price remains after a failed fetch](#the-old-price-remains-after-a-failed-fetch)
14. [– How Everything Connects](#how-everything-connects)
15. [Next Steps ───](#eb-table-content-26)

## – Custom Field Name

The **Custom Field Name** connects your WooCommerce products to their external price sources.

The default custom field name used by PriceFetchWP is:

```
external_price_fetch
```

You can change this global name if needed, but the same custom field name must then be used on every WooCommerce product connected to PriceFetchWP.

### How the Custom Field Works

The custom field has two parts:

| Custom Field | Description |
| --- | --- |
| **Name** | Global identifier used by PriceFetchWP |
| **Value** | External product URL unique to that WooCommerce product |

For example:

**Custom Field Name**

```
external_price_fetch
```

**Custom Field Value**

```
https://example-store.com/products/example-product
```

PriceFetchWP looks for the configured custom field when processing the WooCommerce product.

If the custom field exists, PriceFetchWP reads the external URL and attempts to match its domain to one of your configured **[URL Entries](https://pricefetchwp.com/documentation/url-entries/)**.

If the custom field is not present, PriceFetchWP does not initiate a price fetch for that product.

---

## – Adding the Custom Field to a Product

Open the WooCommerce product you want to connect to PriceFetchWP.

1. Open the product for editing
2. Locate the **Custom Fields** section
3. Add the global PriceFetchWP custom field name
4. Enter the original external product URL as the value
5. Save or update the product

Using the default configuration:

**Name**

```
external_price_fetch
```

**Value**

```
https://example.com/product-with-price
```

The **custom field name stays the same** across your products.

The **custom field value changes** for each product because each value points to a different external product page.

### Important

Always use the full external product-page URL as the custom field value.

**Correct:**

```
https://example.com/products/example-product
```

**Incorrect:**

```
example.com
```

The full URL tells PriceFetchWP exactly which external page should be used to retrieve the price.

---

## – Affiliate Product URLs

If your WooCommerce product uses an affiliate or tracked destination link, keep that link in the normal WooCommerce **Product URL** field.

The PriceFetchWP custom field should contain the original external product-page URL used for retrieving the price.

For example:

```
WooCommerce Product URL
→ Affiliate or tracked destination URL

PriceFetchWP Custom Field
→ Original external product page URL
```

This keeps the URL used for price fetching separate from the URL customers click.

---

## – Changing the Custom Field Name

You can change:

```
external_price_fetch
```

to another custom field name if needed.

For example:

```
external_url
```

If you change the global setting, all products using PriceFetchWP must use the same new custom field name.

Changing the setting does **not** automatically rename custom fields that already exist on your WooCommerce products.

For this reason, most users can leave the default:

```
external_price_fetch
```

---

## – Run Mode

PriceFetchWP supports two WooCommerce Run Modes:

- **Automatic Mode**
- **Shortcode Mode**

Automatic Mode is the default.

---

## – Automatic Mode

In Automatic Mode, PriceFetchWP automatically runs on applicable WooCommerce product pages.

The general process is:

1. The WooCommerce product page loads
2. PriceFetchWP checks for the configured custom field
3. The external URL is read
4. The domain is matched to a URL Entry
5. PriceFetchWP retrieves the external price
6. The WooCommerce product price is updated

Automatic Mode is recommended for most standard WooCommerce installations.

### When to Use Automatic Mode

Use Automatic Mode when:

- you use a standard WooCommerce product layout
- your theme displays the normal WooCommerce price area
- you want PriceFetchWP to run automatically
- no manual trigger is required by your theme or page builder

---

## – Shortcode Mode

Shortcode Mode allows you to manually tell PriceFetchWP where it should run.

Use:

```
[update_product_price]
```

When Shortcode Mode is enabled, PriceFetchWP only runs when this shortcode is present.

### Important

The shortcode is a **trigger**, not a price-placement shortcode.

For example, placing:

```
[update_product_price]
```

above your product title does not necessarily move the WooCommerce price above the title.

The shortcode tells PriceFetchWP to run on that product page. WooCommerce continues to control the normal product-price output.

### When to Use Shortcode Mode

Shortcode Mode may be useful when:

- your theme does not work correctly with Automatic Mode
- you are using a custom WooCommerce product layout
- you are using a page builder
- your theme requires PriceFetchWP to be triggered manually

If Automatic Mode does not behave as expected with your theme, Shortcode Mode is a good troubleshooting option.

---

## – If the Price Fetch Fails

WooCommerce Settings includes an option controlling what happens if PriceFetchWP cannot retrieve a usable external price.

You can choose:

### Show no price

If the fetch fails, PriceFetchWP does not display the existing WooCommerce price.

### Show old price (if already exists)

PriceFetchWP continues displaying the existing WooCommerce price if a new external price cannot be retrieved.

This is useful if you prefer to keep the previously stored price visible during a temporary external-site or connection problem.

---

## – Delay Price Load

**[Delay price load](https://pricefetchwp.com/documentation/delay-price-page-load-behavior/)** is recommended and enabled by default.

When enabled, PriceFetchWP allows the WooCommerce page to start loading in while the external price request is processing.

Instead of making the visitor wait for the external fetch before the page can load in, PriceFetchWP temporarily displays the selected loading indicator and replaces it with the price when the request completes.

This can make product pages feel faster, particularly during the first uncached fetch.

---

## – Show Fetch Error Icon to Admins

PriceFetchWP can optionally show administrators a warning icon on the front-end when a price fetch fails.

Enable: **Show fetch error icon to admins**

When enabled, administrators may see a warning icon beside the product price after a failed fetch.

Hovering over the icon displays:

```
Price fetch failed. Check logs
```

The icon is only visible to administrators. Normal visitors never see it.

This can be especially useful when **Show old price (if already exists)** is enabled, since an administrator can immediately see that the displayed price may be from an earlier successful fetch.

If the warning appears, check:

**PriceFetchWP → Logging**

or run:

**[Test Entry](https://pricefetchwp.com/documentation/test-entry/)**

to troubleshoot the external price source.

**Note:** The setting is located near Delay Price Load, but the warning can also be used when delayed loading is disabled.

---

## – Loading Indicator

When Delay Price Load is enabled, you can choose the loading indicator shown while PriceFetchWP retrieves the price.

Available options include:

- Spinner
- Ellipsis
- Bars
- Dual ring
- Pulse
- Custom

You can also configure:

- Icon Size
- Loader Color
- Custom Loader CSS

If using a custom loader, your CSS must target:

```
.pfetch-loader-custom
```

For complete customization information, see: **[Loader Settings](https://pricefetchwp.com/documentation/loader-settings-customizing-loading-indicators/)**

---

## – Quick Save

Use **Quick Save** after changing WooCommerce Settings if you want to save without refreshing the entire PriceFetchWP settings page.

You can also use the main **Save Changes** button at the bottom of the settings page.

---

## ⚠️ Common Issues

### PriceFetchWP does not run on a product

Check that:

- the custom field exists on the product
- the custom field name exactly matches the global setting
- the custom field contains the full external product URL
- the URL domain matches an active URL Entry
- the URL Entry is not paused
- your PriceFetchWP settings have been saved

### The custom field exists but the price does not update

Run **[Test Entry](https://pricefetchwp.com/documentation/test-entry/)** using the external URL stored in the custom field.

If Test Entry cannot retrieve a price, troubleshoot the URL Entry or selector first.

If Test Entry successfully finds the correct price, review your WooCommerce settings and product configuration.

### Automatic Mode does not work with my theme

Try **Shortcode Mode** and add:

```
[update_product_price]
```

to the WooCommerce product-page layout.

Some custom themes and page builders may require manual placement.

### The shortcode does not display a price where I placed it

This is expected.

The WooCommerce shortcode tells PriceFetchWP **when to run**. It does not control the exact location of WooCommerce's normal price output.

### The old price remains after a failed fetch

Check:

**If the price fetch fails for any reason…**

If **Show old price (if already exists)** is selected, PriceFetchWP intentionally keeps the existing WooCommerce price visible when a new price cannot be retrieved.

If **Show fetch error icon to admins** is enabled, administrators will see a warning icon (⚠) on the front-end when the latest fetch has failed.

---

## – How Everything Connects

A typical WooCommerce configuration looks like:

```
WooCommerce External/Affiliate Product
        ↓
Custom Field Name / Value
        ↓
Matching PriceFetchWP URL Entry
        ↓
Direct / Proxy / Affiliate Fetch
        ↓
Retrieve External Price
        ↓
Update WooCommerce Product Price
```

The global WooCommerce settings determine when and how PriceFetchWP runs, while your URL Entries determine how individual external website prices are fetched.

---

## Next Steps ───

For more information, continue with:

- **[Basic Setup Overview](https://pricefetchwp.com/documentation/basic-setup-overview/)**
- **[URL Entries](https://pricefetchwp.com/documentation/url-entries/)**
- **[Testing a URL Entry](https://pricefetchwp.com/documentation/testing-a-url-entry/)**
- **[Delay Price](https://pricefetchwp.com/documentation/delay-price-page-load-behavior/)**
- **[Loader Settings](https://pricefetchwp.com/documentation/loader-settings-customizing-loading-indicators/)**
- **[Price Cache](https://pricefetchwp.com/documentation/price-cache/)**
- **[Affiliate Integration](https://pricefetchwp.com/documentation/affiliate-integration/)**
- **[Proxy Integration](https://pricefetchwp.com/documentation/proxy-integration/)**
