Property visibility
Maybe the coolest thing of responsive email is that you can enable or
disable specific content based on the device on which it is displayed,
and based on the interests of the receiver. To enable this feature,
every block in the input JSON has a visibility
property. With this property
you can exactly specify under what circumstances the content should
be visible in the mail, and under what circumstances the content
should be hidden.
The block level visibility
property accepts an object value with sub properties.
At this moment in time, you can use a sub property to specify whether
the block should be included when the message is generated for use
in an email and/or for use in a webversion, and a sub property to specify
on which sort of screen size the block should be visible.
Block visibilty properties |
Property | Value | Desc. |
---|---|---|
output | string | Should the block be included in the webversion and/or in the email version? |
device | string | Should the block be visible when the mail is opened on a device with a certain size? |
Server-side evaluation
The responsive API allows you to specify both visibility constraints that are used during the email generation process (in other words: before the email is sent), and constraints that are evaluated by the email client when the message is displayed to the receiver. When a responsive email is created, you can tell the API whether it should generate the full MIME code that is going to be sent over SMTP, or that you only want to generate the HTML code to host somewhere on the web. The output for both these versions can be different, even if they're both based on the same JSON input.
This server-side evaluation can be useful if you want to include a "click here if you can not read this message" hyperlink in an email. Such a link should of course only be included in the actual delivered email, and not in the version that is hosted on the web, because that web hosted message is exactly the page that the links leads to.
The sub property output
does this. You can assign the value "webonly" or "mailonly" to tell the responsive
API to only output the content when either the web hosted version or the mail
version of the message is generated. For an example, see the documentation about the property.
Client-side evaluation
Besides server side evaluation, you can also set a visibility sub property to specify that a certain piece of content should only be visible on a mobile device, or should only be visible when the mail is opened on a desktop computer. Such a block will always be included in the email message, because it is not beforehand known whether the message is going to be opened on a mobile device or not. The email client however, will now show the content if it does not match the constraint.
This feature is enabled by setting the device sub property. For more information, and example code, see the documentation of that property.
Found a typo?
You can find this documentation page on GitHub.
Propose a change