This article is part of our Playground series, where you can learn how to use BeeLiked's API without needing an Account of your own. See the Playground Introduction page for details

Why personalize the experience?

To enter a promotion that has been made 'Private' you will need to send individuals their own InviteLink ( a URL to the promotion that includes a unique 10 character alphanumeric code). As the code is unique, it means that you can give a personal experience.

To demonstrate this in action, we have set up a Spin the Wheel promotion as a Private Promotion (entry is only possible with unique one use InviteLinks) and with placeholders for variable text and images.

Here are links to some other articles that might be useful:

  • How to set up placeholders on your own promotion so you know how to do it when creating your own. Learn How

  • How to Preview Private Promotions that are still in Draft Mode and simulate entries with placeholder data like people's names, emails or custom fields. Learn How

Creating InviteLinks to pass variable data and imagery

We've set up a promotion to display a variable data and a variable image (a logo).

  • The promotion is called: Good Lick Syndicated

  • The Promo ID is 23257

To create InviteLinks with personalization

Call the following API end point







Promotion identifier


String (optional, generated when not provided)

Unique identifier of the audience member


String (required when uid is provided)

Field used as uid


Array|Object (optional)

Object containing the form field slugs as keys and data as values

Here's a screenshot from Postman

Here's an example

curl \ -X POST \ -H 'Accept: application/json' \ -H "Authorization: Bearer <Your Generated Token>" -d '{ "promotion_id": 23257, "uid": "", "uid_field": "email", "field_values": { "first-name": "John", "last-name": "Doe" }}'

For Retrieving uid_field value we need to call this endpoint,

curl \ -X GET  \ -H 'Accept: application/json'  \-H "Authorization: Bearer <Your Generated Token>"

Which will give us the number of fields available in that promotion, it will have an attribute is_uid_field.

If the is_uid_field is true then we have to use the slug attribute value ,i.e, for this promotion is email.

The invite-links can be personalized for users and also can be anonymous. If we add the uid and uid_field it creates a personalized invite-links and if the uid is not provided in the request it creates an anonymous invite-link.


If you want to add extra field values not present by default, e.g. customer-id, order-id, company, address, etc, then currently this requires that you have access to edit the Promotion (via the platform) and add new fields to one of your existing promotions - this then adds the field to Audience and makes it available for use across all your promotions. See How

For your information, the image variable is displayed with the following HTML tags within the promotion's code.

<p style="text-align:center;">
<img style="max-width:300px;" src="{{userField('image-1')}}">

This shows up on the promotion like this:

Did this answer your question?