> For the complete documentation index, see [llms.txt](https://ctracker-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://ctracker-docs.keywordrush.com/putting-it-on-your-pages/shortcodes/cashback-coupons.md).

# \[cashback-coupons]

Puts a list of coupons anywhere — a shop page, a blog post, a landing page, a widget area.

```
[cashback-coupons shop="nike-cashback" limit="5"]
```

On a shop page you usually need none of this: coupons are added below the content automatically when **Coupons import** is on. Reach for the shortcode when you want them somewhere else, or want a different set than the page would choose.

### Choosing the shop

Three ways, from friendliest to most precise.

| Attribute           | Takes                                           | Use when                                         |
| ------------------- | ----------------------------------------------- | ------------------------------------------------ |
| **shop**            | a shop page's slug or id                        | You are writing about one shop and know its page |
| **advertiser\_ids** | one or more ids at the network, comma separated | You know the network's own id for the shop       |
| **module\_id**      | a network slug, such as `Awin`                  | You want everything from one network             |

```
[cashback-coupons shop="nike-cashback"]
[cashback-coupons shop="1656"]
[cashback-coupons advertiser_ids="2898768,1044"]
[cashback-coupons module_id="Awin" limit="20"]
```

**shop** is the one to reach for. Writing a post you know *the Nike shop page*, not Awin's internal number for Nike — and if you ever move that shop to another network, a shortcode written this way keeps working, because it reads the binding off the page each time.

{% hint style="warning" %}
**A shop that cannot be found shows nothing.** Misspell the slug, or point at a page with no network shop bound to it, and the shortcode renders an empty space — deliberately.

The alternative would be falling back to every coupon on the site, which looks like it worked and quietly publishes another shop's offers under your heading. If a block you expected is missing, check the slug first.
{% endhint %}

Set none of the three and you get coupons from every shop, newest and best-voted first.

### Every attribute

| Attribute           | Default                           | What it does                                                                                                                       |
| ------------------- | --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **shop**            | —                                 | A shop page's slug or id. See above.                                                                                               |
| **advertiser\_ids** | —                                 | Network shop ids, comma separated. Wins over `shop` if you set both.                                                               |
| **module\_id**      | —                                 | Limit to one network.                                                                                                              |
| **limit**           | `50`                              | How many to show. Capped at 500.                                                                                                   |
| **type**            | all                               | `coupon` for codes only, `deal` for everything without a code.                                                                     |
| **origin**          | all                               | `manual` for coupons you entered by hand, `imported` (or `automatic`) for those the network sent.                                  |
| **sort**            | hand-added first, then best voted | `start_date`, `end_date`, `title`, `discount` or `votes`. Setting this drops the pinning: you get exactly the order you asked for. |
| **order**           | `asc`                             | `asc` or `desc`. Ignored when sorting by votes.                                                                                    |
| **template**        | `list`                            | `compact` for the narrow one-column card a sidebar wants.                                                                          |
| **display\_domain** | `true`                            | Show the shop's domain on each card. Worth turning off when every coupon is from the same shop.                                    |

An attribute you spell wrongly is ignored rather than obeyed. `origin="manul"` shows **everything**, not nothing — the opposite of the `shop` rule above, and for the same reason: a list that empties itself over a typo reads as "this shop has no coupons".

### Examples

**The codes only, for one shop, in a post:**

```
[cashback-coupons shop="nike-cashback" type="coupon" limit="5"]
```

**Your own hand-written offers, and nothing the network sent:**

```
[cashback-coupons shop="nike-cashback" origin="manual"]
```

**A sidebar widget of the best-voted coupons across the site:**

```
[cashback-coupons template="compact" limit="4"]
```

**Everything from one network, expiring soonest first:**

```
[cashback-coupons module_id="Awin" sort="end_date" order="asc" limit="30"]
```

### What a coupon card shows

A **code** carries a dashed divider and a solid button; a **deal** has neither. Clicking **Show code** copies the code, reveals it, and opens the shop in a new tab — all in one click, so there is nothing to copy by hand.

The description, when a coupon has one, sits behind **See details** rather than printing in full. Coupon descriptions arrive from networks at wildly different lengths, and a list where every card is a different height cannot be scanned.

Recently expired coupons appear in a collapsed **Recently expired** section below the live ones, and only in the full `list` template — the compact one is a sidebar and has no room for it.

### Related

* [Coupon display settings](/coupons/coupon-display-settings.md)
* [Where coupons appear](/coupons/where-coupons-appear.md)
* [Blocks](/putting-it-on-your-pages/blocks.md) — the same list, placed in the editor
