Skip to main content
Skip table of contents

Show If


This macro will show its contents to the viewer if the context matches the parameters specified.

On Cloud, if you have large content consider breaking it into smaller chunks over multiple Show If macros to avoid performance issues.

Notes about migration

Some legacy Macro parameters from Confluence Server are not supported yet. More details on our FAQ page.

In Confluence Cloud, the legacy Macro parameters will be shown in a section that is accessible by showing and hiding the legacy field parameters dropdown.

If the migrated macro has no legacy parameters, the "Show legacy field parameters" dropdown will not be visible in the macro editor.

(warning) Be aware that content is only hidden in the Confluence page view, and that the content is still available when editing a page, viewing page history, email notifications, etc. To truly secure sensitive information, consider using the Security & Encryption app instead.




Migratable to Cloud?

Default Value


Start Date

  • (X)

  • NO

The date and time from when the content should start being displayed, with respect to the server’s timezone.

If no value is set, the system will not enforce any date and time restrictions.

End Date

  • (X)

  • NO

The date and time from when the content should stop being displayed, with respect to the server’s timezone.

Match Using

  • (X)

  • YES


If set to "all", then all items listed must match.


  • (X)

  • YES


The list of user(s) to match. Type the username and select from the dropdown option.

Authentication type

  • (X)

  • YES


The user to match, using authentication type:

  • None - No authentication type is chosen.

  • Authenticated - The user is logged in.

  • Anonymous - The user is not logged in.

Special Username

  • (X)

  • YES


The user to match, using special usernames:

  • @anonymous - No user is currently logged in

  • @authenticated - Any authenticated user is logged in.

  • @self - The current user.

User Groups

  • (X)

  • YES


The list of user group(s) to match. Type the group name and select from the dropdown option. (Cloud only)

The group(s) to match, separated by comma or semicolon (Server and Data Center only).

e.g.: 'confluence-users' will match all logged in users.

Space Permissions

  • (X)

  • NO


This property allows you to define whether the content inside this macro is hidden to a certain user based on his space permissions. This can be done by either of the following:

  • Using @self to specify current space, followed by ":", then followed by permission type e.g. @self:view

  • Using Space Key then followed by ":" and permission type. e.g. PROJ:admin

  • Using only permission type. e.g. admin (this will set the Space Key to @self

  • Using only Space Key. e.g. PROJ (This will set the permission type to view)

These are the permission types:

  • view - (default) The user can view the space.

  • edit - The user can edit pages.

  • admin - The user can administer the space.

  • news - The user can post a blog entry.

Content Types

  • (X)

  • NO


 The (list of) page types. May be:

  • page

  • blogpost

  • comment

  • spacedesc

Display Types

  • (X)

  • NO


This property allows the user to show content only in a document that has been exported to PDF or Word and not on the Confluence page.

The (list of) display modes:

  • default - content is displayed only in Confluence default view.

  • printable - content is displayed only in the exported PDF or Word document.

For more detailed information on Display Types usage and behaviors, check the Display Types parameter matrix page.

Current Space

  • (X)

  • NO


The (list of) spaces this will be displayed in.

Action Types

  • (X)

  • NO


The action taking place: 

  • view - The content is editable and is currently being viewed.

  • edit - The content is editable and is currently being edited.

  • template - The content is a template being previewed.

  • dashboard - The content is the dashboard.


  • (X)

  • NO


The list of labels to test are present or absent.

For more detailed information on Label usage and behaviors, check the Label parameter matrix page.

HTTP Headers

  • (X)

  • NO


The list of request header "name:value" pairs to check for.

This can either be of the form "name:exact value" or "name::regular expression" (note the double "::" for regular expressions).

For example, to check if the current browser is FireFox, set to 'header=User-Agent::.*Firefox.*'

This will confirm that the 'User-Agent' header contains 'Firefox'. What headers are available will depend on the browser being used. 


  • (X)

  • NO


(Since 1.6.0) Tests if the current location is in the specified scope.

You can specify a particular page, or set the scope to the children, descendants or ancestors of another page:

  • > children - The direct children of the specified page. e.g.: 'scope=My Page > children'

  • > descendants - All descendants of the specified page. e.g.: 'scope="My Page" > descendants'

  • > ancestors - All ancestors of the specified page. e.g.: 'scope=My Page > ancestors'


  • (X)

  • NO


If set to false, the content will not be trimmed before being output (if appropriate). 

Editor View

  • Not applicable.

Macro Edit View


  • Not applicable.

Tutorial Examples

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.