Skip to main content
All CollectionsMoEngage
MoEngage - Deploying a Push Experiment
MoEngage - Deploying a Push Experiment

The push integration hinges on proper implementation of Jacquard code snippets

Updated over 4 months ago

Once you've set up your Content API, and you're sharing engagement data via S3, you're ready to deploy Jacquard generated content to your audience.

First, target your push audience as normal, our action comes into play in the Content part of the push creation process. You can choose whichever template type you wish; for the purposes of this example, we shall be using a Basic iOS notification.

Message Title content

To get the content into the Message Title field you just need to make some small adjustments to this code snippet:

{%set variants = ContentApi.phraseeRealtimeAPI({({"params":{"campaign_id":"PLACE CAMPAIGN_ID HERE","recipient_id":"{{UserAttribute['ID']}}","delivery_id":"{{CampaignAttribute['_id']}}"},"static_params":{},"dynamic_params":{},"request_body":{}})})%}{{variants.variant_text.split("〽️") | first | default("PASTE FALLBACK TITLE HERE")}}

Replace PASTE CAMPAIGN_ID HERE with the campaign_id from the Jacquard platform. If you're not sure where, check this out. And replace the PASTE FALLBACK TITLE HERE text with your human control language variant you entered in Jacquard. Once you're done it'll look something like this:

{%set variants = ContentApi.phraseeRealtimeAPI({({"params":{"campaign_id":"PhAK33xPer1m3nT1d4d0cUM3NtAt1oN","recipient_id":"{{UserAttribute['ID']}}","delivery_id":"{{CampaignAttribute['_id']}}"},"static_params":{},"dynamic_params":{},"request_body":{}})})%}{{variants.variant_text.split("〽️") | first | default("HELP! I am stuck in Jacquard Towers writing documentation!")}}

This code snippet, aside from the parameterised campaign_id and default content, doesn't change between usage, so it can be saved into a code library for easy reuse.

You can now paste this code snippet into the Message Title, like so:

Message [Body] content

To get the content into the message field you just need to make some small adjustments to this code snippet:

{%set variants = ContentApi.phraseeRealtimeAPI({({"params":{"campaign_id":"PLACE CAMPAIGN_ID HERE","recipient_id":"{{UserAttribute['ID']}}","delivery_id":"{{CampaignAttribute['_id']}}"},"static_params":{},"dynamic_params":{},"request_body":{}})})%}{{variants.variant_text.split("〽️") | last | default("PASTE FALLBACK MESSAGE HERE")}}

Replace PASTE CAMPAIGN_ID HERE with the campaign_id from the Jacquard platform. If you're not sure where, check this out. And replace the PASTE FALLBACK MESSAGE HERE text with your human control language variant you entered in Jacquard. Once you're done it'll look something like this:

{%set variants = ContentApi.phraseeRealtimeAPI({({"params":{"campaign_id":"PhAK33xPer1m3nT1d4d0cUM3NtAt1oN","recipient_id":"{{UserAttribute['ID']}}","delivery_id":"{{CampaignAttribute['_id']}}"},"static_params":{},"dynamic_params":{},"request_body":{}})})%}{{variants.variant_text.split("〽️") | last | default("HELP! I am stuck in Jacquard Towers writing documentation!")}}

This code snippet, aside from the parameterised campaign_id and default content, doesn't change between usage, so it can be saved into a code library for easy reuse.

You can now paste this code snippet into the Message field, like so:

That's the content part done, now you just need to consider the throttling requirements before the campaign is ready to launch.

Throttling

Finally, if you're using Jacquard's Dynamic Optimisation for broadcast product, then you'll need to apply a throttle to your send, in order to gather enough data to optimise effectively, and create enough time to make use of it.

If you're using Jacquard's Dynamic Optimisation for triggers product, then no throttling is required, as the optimisation occurs over a longer period of time, and a new batch is created and allocated every 24 hours automatically.

Whilst scheduling the delivery, within Delivery Controls, there is a Request Limit option.

This is where you want to calculate the rate at which your message should be sent. This rate allows Jacquard the time it needs to optimise the subject line.

Jacquard would like as much time as possible to get the best results for your experiment. So the longer you allow, the better your results! Although, bear in mind that the maximum limit supported is 60,000 requests per minute.

Calculate the send rate by picking the number of hours over which you want to deploy your experiment and using that to divide your audience.

For this example, we are going to use 6 hours and an audience of 1,000,000. First, divide your audience of 1,000,000 by 6. Then, divide again by 60 to get your per minute send rate, as in this example:

1,000,000 / 6 = 166,667 requests per hours

166,667 / 60 = 2,778

Set a Request limit = 2,778 requests per minute

When you do this calculation for your audience, simply use your audience size and number of hours.

Now, schedule your campaign as you normally would. Make sure you take your send time length into consideration when you decide when your campaign should start.

With that set, you can publish the campaign and let MoEngage and Jacquard get to work.

Article path

Related articles

Page last reviewed: 29 April 2024

Did this answer your question?