ig.me
is a shortened URL service operated by Meta that redirects users to a conversation in Instagram. You can use them on your website, email newsletters and more.
When a user leverages an ig.me link to start or continue a conversation with your Instagram account, the user is redirected to a new or existing thread, based on whether the user had previously messaged your Instagram account.
The format of the link is as follows:
https://ig.me/m/<USERNAME>
USERNAME
is the IG handle of the Instagram account.
You can pass a referral parameter using these links.
Referral parameters can serve the following purposes:
This is a ig.me link with an added parameter:
https://ig.me/m/<USERNAME>?ref=<REF_PARAM>
REF_PARAM
is passed to the server via a webhook.
To properly use ig.me links, you must meet the following requirements:
The referral portion always follows this format:
"referral": {
"ref": "ref_data_in_ig_dot_me_param"
"source": "SHORTLINKS"
"type": "OPEN_THREAD"
}
Field Value | Description |
---|---|
| The arbitrary data that was originally passed in the |
| The source of this referral. For ig.me links, the value of source is |
| The identifier for the referral. For a referral from ig.me links, it is always |
When an ig.me link with a ref
parameter opens the Instagram app, there are three possible scenarios:
If you have configured Icebreakers for your Instagram Account and the user taps on an Icebreaker, your app receives the messaging_postback
webhook event which includes the passed referral parameter.
The messaging_postback
webhook event follows this format:
{
"object": "instagram",
"entry": [
{
"id": "<IGSID>",
"time": 1502905976963,
"messaging": [
{
"sender": {
"id": "<IGSID>"
},
"recipient": {
"id": "<IGID>"
},
"timestamp": 1502905976377,
"postback": {
"mid":"<MESSAGE_ID>",
"title": "<SELECTED_ICEBREAKER_QUESTION>",
"payload": "<USER_DEFINED_PAYLOAD>,
"referral": {
"ref": "ref_data_in_ig_dot_me_param"
"source": "SHORTLINKS"
"type": "OPEN_THREAD"
}
}
}
]
}
]
}
USER_DEFINED_PAYLOAD
refers to the payload you previously configured to be sent in the postback.
If you have configured Icebreakers for your Instagram Account and the user doesn't tap on an Icebreaker, and chooses to send a message via the composer, your app receives the messages
webhook event which includes the passed referral parameter.
The messages
webhook event follows this format:
{
"object": "instagram",
"entry": [
{
"id": "<IGSID>",
"time": 1502905976963,
"messaging": [
{
"sender": {
"id": "<IGSID>"
},
"recipient": {
"id": "<IGID>"
},
"timestamp": 1502905976377,
"message": {
"mid":"<MESSAGE_ID>",
"referral": {
"ref": "ref_data_in_ig_dot_me_param"
"source": "SHORTLINKS"
"type": "OPEN_THREAD"
}
}
}
]
}
]
}
If the user has an existing thread with your Instagram Business, when the user follows your ig.me link, Instagram just opens that respective thread. To be notified of the referral, your webhook must be subscribed to the messaging_referral
event.
This action resets the 24-hour window for standard messaging, allowing the app to reply after getting the webhook event with the ref
parameter.
The messaging_referral
webhook event follows this format:
{
"object": "instagram",
"entry": [
{
"id": "<IGSID>",
"time": 1502905976963,
"messaging": [
{
"sender": {
"id": "<IGSID>"
},
"recipient": {
"id": "<IGID>"
},
"timestamp": 1502905976377,
"referral": {
"ref": "ref_data_in_ig_dot_me_param"
"source": "SHORTLINKS"
"type": "OPEN_THREAD"
}
}
]
}
]
}
Here are some ways you can use ig.me links:
New Threads | Existing Threads |
---|---|
We disclose the following text to the user: You opened this conversation from a link. | We disclose the following text to the user: You opened this conversation from a link. |
ig.me links are currently not supported on Instagram Web.