# Exibir conteúdo in-app para usuários específicos

Cada bloco no [editor integrado](/pt/product/content/in-apps/no-code-in-app-editor/create-rich-media-in-the-built-in-editor/), e cada elemento dentro dele, possui duas configurações no painel direito para controlar quem o vê: **Visibilidade** e **Condição de exibição**.

## Exibir ou ocultar conteúdo por dispositivo

Abra as configurações de um bloco ou elemento e use **Ocultar no celular** ou **Ocultar no desktop** em **Visibilidade** para exibi-lo em apenas uma largura de visualização, correspondendo às larguras de celular (360px) e tablet (768px) do [alternador de celular/desktop](/pt/product/content/in-apps/no-code-in-app-editor/create-rich-media-in-the-built-in-editor/#top-bar) na barra superior.

<Aside type="note">
Ocultar conteúdo por largura de visualização não é o mesmo que ocultá-lo por usuário. Para exibir blocos diferentes para usuários diferentes, consulte [Exibir conteúdo para usuários específicos](#exibir-conteudo-para-usuarios-especificos) abaixo.
</Aside>

## Exibir conteúdo para usuários específicos

Uma **condição de exibição** exibe ou oculta um bloco para usuários específicos com base em suas [Tags](/pt/product/audience-data-and-segmentation/user-data-tags/tags/). Todo usuário recebe o mesmo modelo in-app, mas cada um vê apenas os blocos destinados a ele.

<Aside type="note" title="Exemplo">
Você marca alguns usuários como `loyalty_member`. Você adiciona um bloco com uma oferta exclusiva para membros e define uma condição: exibir este bloco apenas quando `loyalty_member` for `true`. Todos os outros nunca o veem.
</Aside>

Você pode adicionar uma condição de exibição a qualquer bloco ou elemento na tela.

**Para definir uma condição de exibição:**

1. Selecione o bloco ou elemento na tela.
2. No painel direito, em **Condição de exibição**, ative **Exibir este bloco condicionalmente** (**Exibir este elemento condicionalmente** se você selecionou um elemento dentro de um bloco).
3. Escolha uma Tag, um operador e um valor (por exemplo, **é** e **true**).
4. Clique em **+ Adicionar regra** para adicionar mais regras.
5. Em **Se o valor for desconhecido**, escolha **Ocultar bloco** ou **Exibir bloco**. Isso controla o que acontece quando a Tag não tem valor para um usuário.

<img src="/rich-media-create-rich-media-in-the-built-in-editor-41.webp" alt="Configurações de Visibilidade e Condição de exibição com Ocultar no celular, Ocultar no desktop, uma regra de condição de exibição e expressão Liquid personalizada" width="320"/>

### Cenário de exemplo: oferta de recuperação para usuários inativos

Uma oferta de recuperação que aparece apenas para usuários que não compram há algum tempo, para que compradores ativos não vejam um desconto de que não precisam.

<Aside type="note">
`RFM Recency` deve ser uma Tag **Numérica** no perfil do usuário (dias desde o último pedido). O operador **≥** está disponível apenas para Tags numéricas.
</Aside>

| Condição | O que o usuário vê |
|---|---|
| `RFM Recency` **≥** `90` | O bloco do Cartão de recuperação, com uma oferta de desconto |
| Qualquer outra coisa | O bloco do Cartão permanece oculto |

**Para configurar este cenário:**

1. Adicione um bloco de **Cartão** com a oferta de recuperação (imagem, título e um botão de código de desconto).
2. Selecione o Cartão na tela e, em **Condição de exibição**, ative **Exibir este bloco condicionalmente**.
3. Defina a regra como `RFM Recency` **≥** `90`.
4. Em **Se o valor for desconhecido**, escolha **Ocultar bloco** — novos usuários sem histórico de compras não devem ver uma mensagem de recuperação destinada a usuários inativos.

Um usuário que fez o último pedido há 120 dias vê a oferta. Um usuário que fez um pedido na semana passada, ou ainda não tem histórico de pedidos, nunca vê o bloco.

## Escrever uma condição Liquid personalizada

Quando o construtor de regras não for suficiente, escreva a condição você mesmo em [Liquid](/pt/product/personalization/liquid-templates/).

1. Selecione o bloco ou elemento na tela.
2. Em **Condição de exibição**, ative **Expressão Liquid personalizada**.
3. Digite sua condição. Por exemplo, para exibir um bloco para usuários na Alemanha ou assinantes VIP:

```
Country == "DE" or VIP
```

Uma expressão personalizada substitui quaisquer regras definidas no construtor acima dela.

Nomes de Tags com espaços são convertidos automaticamente. Por exemplo, `Last Order` se torna `LastOrder`.