> 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-shops.md).

# \[cashback-shops]

A grid of shop tiles — logo, name and cashback rate — or an A–Z index of them.

```
[cashback-shops limit="8" cols="4"]
```

Each tile links to that shop's page. On a coupon-only site the rate is replaced by the shop's coupon count.

### Choosing which shops

| Attribute    | Default | What it does                                                |
| ------------ | ------- | ----------------------------------------------------------- |
| **limit**    | `10`    | How many to show                                            |
| **category** | all     | A shop category's **term id**                               |
| **letter**   | all     | One letter, `A`–`Z`, or `#` for shops starting with a digit |
| **include**  | —       | Shop page ids, comma separated. Only these                  |
| **exclude**  | —       | Shop page ids, comma separated. Everything but these        |

`include` and `exclude` narrow the **query**, not the rendered result — so `include="4,9" limit="10"` gives you those two shops, not those two if they happen to fall in the first ten.

### Ordering

| Attribute   | Default | Values                                                              |
| ----------- | ------- | ------------------------------------------------------------------- |
| **orderby** | `date`  | `date`, `title`, `name`, `rand`, `modified`, `ID`, `rate`, `rating` |
| **order**   | `DESC`  | `ASC` or `DESC`                                                     |

`rate` sorts by cashback, highest first; `rating` by member reviews. Both keep shops the index has not reached yet — a shop with no rate yet sorts last rather than vanishing.

{% hint style="info" %}
**The default is `date`**, so a bare `[cashback-shops]` shows your newest shops. For a "top cashback" block you want `orderby="rate"`, and for an alphabetical listing `orderby="title" order="ASC"`.
{% endhint %}

### Layout

| Attribute       | Default | Values                                                         |
| --------------- | ------- | -------------------------------------------------------------- |
| **type**        | `grid`  | `grid`, `widget`, `alphabet`                                   |
| **cols**        | auto    | Columns. Leave it out and the grid fills the space it is given |
| **imageheight** | `60`    | Maximum logo height, in pixels                                 |

* **grid** — the full tile: logo, name, tagline, rating, rate.
* **widget** — the tighter tile a sidebar wants: logo, name, rate. No tagline, no stars.
* **alphabet** — every shop grouped under its first letter, with a jump menu.

Two more exist for themes that need a hook to hang CSS on: **wrapclass** (default `cbtrkr_merchants_wrap`) sets the outer element's class, and **classitem** adds a class to every tile.

### Examples

**A homepage row of your best-paying shops:**

```
[cashback-shops orderby="rate" limit="6" cols="6"]
```

**One category, alphabetically:**

```
[cashback-shops category="12" orderby="title" order="ASC" limit="50"]
```

The category takes a **term id**, which you can read off the URL when editing the category under `Shop categories`.

**A sidebar widget:**

```
[cashback-shops type="widget" limit="6" cols="2"]
```

**A full A–Z index page:**

```
[cashback-shops type="alphabet" limit="500" orderby="title" order="ASC"]
```

Raise `limit` for this one — the alphabet groups whatever it is given, so a default of ten produces a very short alphabet.

### Related

* [The shop directory](/shops-and-cashback-rates/shop-directory.md) — the built-in page, with search, filters and paging
* [Blocks](/putting-it-on-your-pages/blocks.md) — the same grid, with a live preview
* [Widgets](/putting-it-on-your-pages/widgets.md)
