This Applies to
OTHER DOCS Available


This shortcode generates secure, expiring Amazon S3 links, with additional features, automation integration, and unique security enhancements.

Shortcode Examples

Here is a simple example, showing a link to a file called “test.jpg”:

<a [memb_s3_link htmlattr=href profile="yourprofile" object="test.jpg"] > Click Here to Download </a>

Here is a simple example, showing a link to a file in a path, with spaces in the filename:

<a [memb_s3_link htmlattr=href profile="yourprofile" object="/my/path/this is  test.jpg"] > Click Here to Download </a>

This is how the shortcode looks like with optional parameters:

<a [memb_s3_link htmlattr=href profile="memberium" require_login="yes" object="test.jpg" direct_link="no" expiring="5"] > Click Here to Download </a>

Use this to generate the entire link using the shortcode:

[memb_s3_link htmlattr=all profile=yourprofile object="/my/path/here/file.pdf"]Click here[/memb_s3_link]


Shortcode Parameters​

bucket:  Name of the Amazon S3 bucket

region: The region of the bucket on Amazon S3. Example: eu-west-2. This is not required if you’re on North Virginia region, but is required if you’re on any other region

version=4: Use this parameter if you’re NOT using North Virginia region. If you’re on North Virginia region, then skip using this parameter.

action_ids: List of ActionSet ID’s to run on click.  Defaults to none.  (Optional)

direct_link: Whether to link directly to S3 or not.  Valid values are “no” and “yes”.  Defaults to “no”.  Set to “yes” if the inks give you an Error 414.  (Optional)

expiring – The number of seconds before the link expires.  Defaults to the value set in the profile.  (Optional)

fus_ids: FUS ID’s to add/remove on click.  Defaults to none.  (Optional)

goals: Campaign Builder goal to achieve on click protocol.  Defaults to none.  (Optional)

htmlattr:  HTML attribute to embed the generated value in.  If blank no attribute is generated.  (Optional)

If you specify htmlattr=all, you can now specify 4 HTML attributes. style, class, id, and target.

[memb_s3_link htmlattr=all target='_blank' style="color:blue" class="yourclass" id="yourID" profile=yourprofile object="/my/path/here/file.pdf"]Click here[/memb_s3_link]

protocol:  Whether to use HTTP or HTTPS for the link that is generated.  Valid values are “http” and “https”.  Defaults to https.  (Optional)

require_login: Whether or not to require that the user is logged in.  Valid values are “no” and “yes”.  Defaults to no.  (Optional)

object: The name of the Amazon S3 Object to link to.  The object includes the full path except for the bucket itself. (Required)

profile: Name of Amazon S3 Profile to use.  (Optional)

tag_ids: tag ID’s to add/remove on click  (Optional)

Note About Bucket, Folder, and File Names

Per Amazon’s documentation regarding S3 bucket and file names, we don’t recommend using dots/periods or spaces in either the bucket, folder, or file names. Instead, use underscores to prevent issues when using our shortcodes and accessing S3 files.

You can use links generated by [memb_s3_link] to provide secure download capability for your server.  This helps protect your downloads against unauthorized downloading or deep linking. It cannot prevent your users from sharing your content, but it does make it more difficult.

Why Expiration Matters

Systems that provide secure S3 links are common, but most suffer from a major problem that limits how usable they are, or makes them unfriendly to your users. Amazon S3 expiring links work by limiting the amount of time that the link can be used from the moment that the page loads. If you set the expiration too low, then your users must act quickly to click the links before the timer runs out. If they click an expired link, it gives them an ugly, unhelpful error message.

Memberium solves this by generating the link when it’s clicked, meaning that your users can take their time reading your page content, and that they’ll never see an expired link error message.

If you set “direct_link” to yes, then this system is disabled, and the expiration timer will start from page load.


Buckets are the way that Amazon S3 organizes it’s servers. The bucket name does not include the path. Buckets are used to store collections of objects. Objects behave much like files.

Objects and Filenames

Objects are how Amazon S3 stores your files. Unlike an FTP server, files on S3 do not have paths, however, you can put the “path name” into the file name so that it looks like a path. Many S3 softwares will use this to simulate paths. When you put your object name into the shortcode its important to include the full object name including the “path”.

When naming objects, it’s helpful to avoid certain characters that can cause problems when encoding the link. We recommend you stick to space, underline, dash, letters and numbers. Characters such as &, <, > and quotes are especially troublesome as they have special meaning in HTML.

Setting It Up

Go to Memberium > Remote Files to start configuring this.


  • Links can be made to expire immediately after you click, completely eliminating the problem of the user sitting on the page and clicking after the link expires.
  • Links can be made to require that the user clicking the link is either a logged-in admin or Infusionsoft user,  So that even if someone shares the link before it expires, it won’t work unless the other person logs in.
  • Links can be made so that when they’re clicked, they add/remove tags, run actionsets, and/or achieve goals:  Know if they downloaded that PDF or not.

Note: When using this shortcode with the “Broken Link Checker” plugin, the link checker may corrupt your links and mark them as invalid.

Click here to read more about Remote Files.

We also have a detailed tutorial on how to protect downloads with Memberium and Amazon S3.

Shortcode Attributes

Conditional: No (?)
Nestable: No (?)
Accepts formatting: No (?)
Capturable: No (?)


Can I use this shortcode with a page builder?

You can definitely use the shortcode to generate links inside page builders like Elementor, Divi, Beaver Builder, etc.

The only limitation is most page builders do not support shortcodes inside link fields. This means you couldn’t use our shortcode as a link inside a button, image, or any other element/block.

Due to page builders constantly pushing out updates, we don’t have a list on which ones are and aren’t supported, but you can easily test this for yourself.

  • Was this Helpful?
  • YesNo
9 ways to add more value to your membership site


This Applies To

Book a Call

Welcome to Memberium!

We are very excited for you to be part of our family. 

We would love to answer any questions that you have!

Please choose the best time for you to get in a call with us. 

For Technical Support, you can contact us at https://keap.memberium.com/support/ or Email us at support@memberium.com.