Pular para o conteúdo principal

ImageById

Descrição

A função ContentImageById retorna uma tag <img> completa apontando para uma imagem armazenada no Content Builder, localizada pelo seu ID. A tag gerada já inclui os atributos title, alt, border="0" e um thid com o ID da imagem. É muito útil quando você precisa inserir imagens dinâmicas em e-mails - por exemplo, banners personalizados por segmento ou imagens de produtos - e quer garantir que, se a imagem principal não for encontrada, um fallback seja exibido automaticamente.

⚠️ Atenção: Essa função funciona apenas com imagens no Content Builder. Ela não funciona com blocos de imagem (image blocks).

Sintaxe

ContentImageById(imageExternalId, defaultImageExternalId)

Parâmetros

ParâmetroTipoObrigatórioDescrição
imageExternalIdstringSimO ID da imagem no Content Builder que você deseja exibir.
defaultImageExternalIdstringSimO ID de uma imagem fallback no Content Builder. Será usada caso a imagem do primeiro parâmetro não seja encontrada.

Exemplo básico

Exibindo o banner principal de uma campanha promocional da MegaStore, com um banner genérico como fallback:

%%[
VAR @bannerCampanha
SET @bannerCampanha = ContentImageById("38274", "10001")
]%%

%%=v(@bannerCampanha)=%%

Saída:

<img src="https://image.s11.sfmc-content.com/lib/fe3a/m/1/megastore-blackfriday-2024.jpg" alt="Promoção Black Friday MegaStore" title="Promoção Black Friday MegaStore" border="0" thid="38274" />

Exemplo avançado

Em uma régua de relacionamento da Lojas Vitória, cada segmento de cliente recebe um banner diferente. O ID da imagem vem de uma Data Extension. Caso o registro não tenha um ID válido, o fallback garante que o e-mail não quebre. Além disso, usamos RegExMatch para extrair apenas a URL da imagem quando precisamos dela isolada (por exemplo, para usar como background em CSS inline).

%%[
VAR @idBanner, @idBannerFallback, @tagImagem, @urlImagem

SET @idBanner = Lookup("BannersPorSegmento", "ImagemId", "Segmento", "premium")
SET @idBannerFallback = "50001"

/* Gera a tag <img> completa */
SET @tagImagem = ContentImageById(@idBanner, @idBannerFallback)

/* Extrai apenas a URL do atributo src */
SET @urlImagem = RegExMatch(@tagImagem, 'src="([^"]+)"', 1)
]%%

<!-- Usando a tag completa -->
<div class="hero-banner">
%%=v(@tagImagem)=%%
</div>

<!-- Usando só a URL como background -->
<table width="600" style="background-image: url('%%=v(@urlImagem)=%%');">
<tr>
<td style="padding: 40px; color: #ffffff; font-size: 24px;">
Olá, aproveite as ofertas exclusivas para clientes Premium!
</td>
</tr>
</table>

Saída:

<!-- Usando a tag completa -->
<div class="hero-banner">
<img src="https://image.s11.sfmc-content.com/lib/fe3a/m/1/lojas-vitoria-premium.jpg" alt="Banner Premium Lojas Vitória" title="Banner Premium Lojas Vitória" border="0" thid="72035" />
</div>

<!-- Usando só a URL como background -->
<table width="600" style="background-image: url('https://image.s11.sfmc-content.com/lib/fe3a/m/1/lojas-vitoria-premium.jpg');">
<tr>
<td style="padding: 40px; color: #ffffff; font-size: 24px;">
Olá, aproveite as ofertas exclusivas para clientes Premium!
</td>
</tr>
</table>

Observações

  • A função retorna uma tag <img> completa, não apenas a URL. Se você precisar somente da URL, use a função RegExMatch para extrair o valor do atributo src.
  • A tag gerada inclui automaticamente os atributos title, alt, border="0" e thid (com o ID da imagem).
  • O segundo parâmetro (imagem fallback) é obrigatório. Se a função não encontrar a imagem do primeiro parâmetro, ela retorna a tag <img> apontando para a imagem fallback.

⚠️ Atenção: Essa função funciona exclusivamente com imagens no Content Builder. Não funciona com blocos de imagem (image blocks). Se você trabalha com imagens no Portfolio/Classic, considere outras abordagens.

💡 Dica: Mantenha uma imagem genérica padrão no Content Builder (como o logo da sua marca) para usar sempre como fallback. Assim, mesmo que algum ID de imagem esteja incorreto ou desatualizado, o e-mail nunca vai renderizar quebrado.

Funções relacionadas

  • ContentImageByKey - mesma funcionalidade, mas localiza a imagem pela Customer Key em vez do ID.
  • Image - para trabalhar com imagens usando referências do Portfolio clássico.
  • RegExMatch - útil para extrair apenas a URL do src a partir da tag <img> retornada.
  • ContentBlockById - para inserir blocos de conteúdo completos do Content Builder por ID.