Bronto

Learn how to use Bronto to integrate Affirm messaging in your email marketing messages.

Overview

Affirm has partnered with Bronto so that you can quickly add Affirm monthly payment pricing to emails sent to your customers.

When a customer abandons their cart, Bronto triggers a workflow that will send that customer an email containing monthly payment pricing for the items in their cart. This service is currently in beta.

Requirements

  • You must enable the Bronto Cart Recovery app (emails sent by Bronto workflow triggers require the Bronto Cart Recovery app)
  • You have already implemented Affirm promotional messaging on your cart page
  • Configure the Abandon Cart to trigger when a product price or cart total exceeds $50

Configure Bronto

1. Add the Affirm monthly payment price on the cart page to the Bronto cart JSON object's other field. See the [sample code] below for adding single cart total or individual product prices.
2. Add $%%$cart.item.other%% to your email template to display a single monthly payment price (to add monthly payment prices for individual products, use Bronto's cart loop).
3. Append the following as query parameters to all the outgoing Affirm messaging links. For example, a link that sends the customer to your cart page, https://www.example.com/cart?aff_cid...value&aff_fm=t:

  • aff_cid="unique_value" - "unique value" is an existing or newly created tracking ID, which may provide additional information about the email service provider and/or the merchant (required)
  • aff_fm="t" - this opens an Affirm educational modal when a customer lands on the page where Affirm promotional messaging is available (optional)

Sample code

Send either a single monthly payment price (cart total) or monthly payment pricing for multiple products to the Bronto cart object.

For the cart total price, the monthly payment price on the cart page uses the total cart price. This sample code snippet sends monthly payment pricing value to brontoCart object:

<script>
//Add the AffirmMonthlyPrice as cart object's other value
var AffirmMonthlyPrice = document.getElementsByClassName('affirm-ala-price')[0].innerHTML; //Ex: https://jsfiddle.net/d3ob1n78/
brontoCart.lineItems[0].other = AffirmMonthlyPrice;
//Call brontoCart object again to send this value
brontoCart;
</script>

For the individual product prices, calculate the monthly payment price for each product on the cart page and send it as brontoCart's other field value. The cart page should already have Affirm's runtime embed code. Te sample code below retrieves the payment price for each product and sends them to Bronto:

<script>
affirm.ui.ready(function() {
    // get the price for all the products
    var allProducts = document.getElementsByClassName("productPrice");
    for (var i = 0; i < allProducts.length; i++) {
    var pP = allProducts[i].innerHTML*100; // get Affirm price sent in cents
    getAffirmAsLowAs(i,pP);
    }
});

function getAffirmAsLowAs(element,amount){
    if(amount){
        var options = {
            apr: "0.10", // percentage assumed APR for loan
            months: 12, // can be 3, 6, or 12
            amount: amount // USD cents
        };
        // use the payment estimate response
        function handleEstimateResponse (payment_estimate) {
            affirmMonthlyPrice =  payment_estimate.payment_string;
            // send Affirm ALA price to brontoCart
            brontoCart.lineItems[element].other = affirmMonthlyPrice;
        };
        // request a payment estimate
        affirm.ui.payments.get_estimate(options, handleEstimateResponse);
    }
    else{
      // add a default Affirm message to the other field so blank value isn't sent in the email template
    }
    // call brontoCart object to send the other value with Affirm ALA price
    brontoCart;
}
</script>

Example

Template

Result