# Personalize the homepage by what articles someone has been reading?

Asked by Tunde Adeyemi on 2025-04-29. Tags: cql, audiences, interests, media.

Context first: I work at a news publisher and our editorial team wants readers who mostly consume sports coverage to get a sports-led module at the top of the homepage, while everyone else keeps the general news lead.

My question is whether Croct can infer that topical affinity from browsing behavior on its own, or whether I need to build a tagging pipeline that watches article reads and writes interest attributes onto the profile myself. I would rather not maintain that pipeline if the platform already does it

## 1 answer

### Answer from Derek Onyango (2025-04-30)

You do not need a pipeline. The behavioral conditions cover this directly:

```cql
user has shown interest in ["sports"]
```

is the interest-based form, and page-view history is queryable too:

```cql
user has viewed a page with path "/sports"
```

Since `interests` is a regular user attribute, all the list operators apply as well:

```cql
user's interests contains either ["sports", "football"]
```

with `contains all of` and `contains none of` for the stricter and inverted cases. So your audience is a one-liner, and the sports-led module is just the content you attach to it in the experience.

This exact pattern is documented end to end in the [reading history playbook](https://blog.croct.com/post/reading-history-playbook), which walks through building content affinity audiences for a publisher setup like yours. For a sense of what it can move, Brazil Journal used this kind of personalization and lifted newsletter subscriptions by 93%.
