> For the complete documentation index, see [llms.txt](https://ce-docs.keywordrush.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ce-docs.keywordrush.com/modules/affiliate-egg-integration.md).

# Affiliate Egg integration

[Affiliate Egg](https://www.keywordrush.com/affiliateegg) is a companion plugin that reads product data straight from store websites — **no API and no data feed required**. With the integration you can **connect almost any online store** as a Content Egg module and use it like any other module: keyword search, direct URLs, price updates, comparisons, templates and blocks.

* **No API required** — extract price, image, stock and more directly from the store page.
* **Almost any store** — connect a supported shop, or **any custom domain** by its address.
* **Custom parsers** — order a hand-written parser for stores that need one (see [Ordering a custom parser](#ordering-a-custom-parser)).
* **Full Content Egg power** — price updates, price comparison, product import, templates and blocks all work with connected stores.

{% embed url="<https://www.youtube.com/embed/u1yIWgq-OfY?start=116>" %}

{% hint style="info" %}
New to the difference between our plugins? Read [Content Egg vs Affiliate Egg vs External Importer](https://ei-docs.keywordrush.com/integration/ei-vs-ce-vs-ae).
{% endhint %}

### Requirements

* The [Affiliate Egg](https://www.keywordrush.com/affiliateegg) plugin is **installed, activated, and has a valid license**.
* **Affiliate Egg 11.0.0 or newer** to connect custom (unregistered) domains.

### Connect a store

![The "Connect a store" button on the Modules page](/files/yYcYV8ynOCL0Cu8weD9q)

1. Go to **Content Egg → Modules** and click **Connect a store** in the *Affiliate Egg modules* section.
2. Enter the **shop domain** (for example `example.com`).
3. *(Optional)* Enter a **Search URL** to enable keyword search — see [Search URL](#search-url). Leave it empty to work with direct product and category URLs only.
4. Click **Connect**. You're taken to the new module's settings, and the module is **active by default**.

![The "Connect a store" modal](/files/HuVsvb2BJt75f9yJCdXr)

### Add products to a post

Open a post and find the connected store in the Content Egg metabox. There are three ways to add products:

* **Direct product URL** — paste a product page URL. **Recommended:** it's the most reliable and uses the fewest requests to the store.
* **Category / listing URL** — paste a category URL to pull several products from it.
* **Keyword search** — type a keyword. Requires a Search URL.

![Searching a connected store from the post editor](/files/aZNVcMZNBqHmyyB8lQ7o)

{% hint style="info" %}
Prefer **direct product URLs** over keyword search whenever you can — fewer requests to the source site means less chance of being blocked.
{% endhint %}

### Module settings

Open the module's settings page (**Content Egg → Modules → \[your store]**) to configure:

* **Affiliate link (Deeplink)** — turn direct product links into your affiliate links. You can change this at any time to switch networks. See [Deeplink settings](https://ce-docs.keywordrush.com/modules/deeplink-settings).
* **Results** — how many products a keyword search returns.
* **Save images** — store product images on your own server.
* **Update frequency** — how often prices and availability refresh.

### Search URL

A Search URL lets a **custom domain** module search by keyword. To build one:

1. On the store's website, search for any product — say, `shoes`.
2. Copy the URL from your browser's address bar.
3. Replace your search word with **`%KEYWORD%`**.

So a search that looks like this:

```
https://example.com/search?q=shoes
```

becomes:

```
https://example.com/search?q=%KEYWORD%
```

* If you paste a normal search URL (for example `?q=bike`), Content Egg tries to insert `%KEYWORD%` for you automatically.
* No Search URL? The module still works with **direct product and category URLs** — only keyword search is unavailable.

{% hint style="warning" %}
Some stores render their search results with JavaScript, which a parser can't read. If keyword search returns nothing, use a **direct product URL** instead.
{% endhint %}

### Ordering a custom parser

**Why you might need one.** Custom-domain modules use Affiliate Egg's generic parser, which reads most modern stores. But some shops have unusual markup the generic parser can't understand — when that happens a search shows **"No product data found — this shop likely needs a custom parser."** A custom parser is hand-written for that specific store, so it reads its products reliably.

**Cost:** $25 per parser. Each store needs its own parser, and you can use it on any of your sites.

**Process:**

1. **Email us** your list of stores through the [contact form](https://www.keywordrush.com/contact).
2. **Invoice** — we review your list and send you an invoice.
3. **Creation** — it usually takes 1–2 days.

**Installation:**

* Copy the parser files to your server's `/wp-content/affegg-parsers/` directory.
* Custom parsers work exactly like the built-in ones — connect the store the same way as above.

**Guarantee:** 6 months. If a parser needs corrections during that time, we make them for free.

### Troubleshooting

When a search can't return products, Content Egg shows a short explanation in the metabox. Here's what each message means and how to resolve it:

| Message                                            | What it means                                                    | What to do                                                                                                                        |
| -------------------------------------------------- | ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| **Blocked by the site** (503 / 403)                | The store is blocking automated requests.                        | Enable a [scraping service](https://ae-docs.keywordrush.com/extractor-settings); slow down price updates; add products gradually. |
| **No product data found — needs a custom parser**  | The generic parser couldn't read the product page.               | [Order a custom parser](#ordering-a-custom-parser) for this store.                                                                |
| **No products found — try a direct product URL**   | Keyword search returned nothing, often a JavaScript search page. | Paste a direct product URL instead.                                                                                               |
| **Keyword search isn't set up / Add a Search URL** | No keyword search is configured for this store.                  | Use a direct URL, or add a [Search URL](#search-url) in the module settings.                                                      |
| **That URL is for a different store**              | The URL's domain doesn't match this module.                      | Enter a URL from the connected store, or a keyword.                                                                               |
| **The store took too long to respond**             | The request timed out.                                           | Try again, or enable a scraping service.                                                                                          |
| **Your session has expired**                       | The editor was left open past the login token's lifetime.        | Reload the page and search again.                                                                                                 |

#### Avoid getting blocked

Affiliate Egg makes a separate HTTP request for each product search and price update. Sites with anti-bot protection or per-IP rate limits can return **503** or **403** errors if you make too many requests.

A block usually lifts after 24 hours. To avoid it in the first place:

* [x] **Search by direct product URL** instead of keywords (most important).
* [x] **Limit price updates** — avoid very frequent update schedules.
* [x] **Add products gradually** — don't import too many at once.
* [x] **Use a scraping service** for a persistent block — see [Extractor settings](https://ae-docs.keywordrush.com/extractor-settings).

### FAQ

**Why do I need Affiliate Egg if I have Content Egg?**

Not every store with an affiliate program offers a product API — smaller shops especially. Affiliate Egg reads the data directly from the site, so you can promote stores Content Egg doesn't support natively. If a store needs it, we can also build a custom parser for you.

**Which stores can I connect?**

Almost any online store — supported shops out of the box, and any other domain via the generic parser (Affiliate Egg 11.0.0+). A few stores may need a custom parser.

**Direct URL or keyword search — what do you recommend?**

Direct product URLs whenever possible. They're more reliable and make fewer requests to the store, which lowers the risk of being blocked.

**Amazon is in both plugins — which should I use?**

Prefer Content Egg's Amazon module. Amazon's API is fast and stable, while intensive web parsing can get your IP blocked.
