Overview of the Add to Cart functionality within Shoppable Recipe widgets, along with how each retailer handles adding products to the consumer's cart and related Frequently Asked Questions.
Jump ahead to see how each retailer handles their Add to Cart functionality or for our FAQs:
Add to Cart Shoppable Recipe Functionality
When selecting a retailer within a Shoppable Recipe widget, we attempt to send all products configured to the retailer's cart, including the branded UPCs as well as the generic ingredients. This enables a simplified shopping experience, allowing the consumer to quickly checkout with the ingredients needed to make the recipe. See the video below showing how this looks for the consumer:
Supported Retailers
The following retailers have Add to Cart functionality supported for Shoppable Recipes. Note, these retailers need to be included in your Automated Buy Online feed. If a retailer is listed here, but only set-up for Manual Buy Online, the add-to-cart functionality will not work as expected.
- Amazon Fresh
- Instacart (sub-banners bulleted below)
- Albertsons
- Bevmo
- BJ's
- Carrs
- Costco
- CVS
- Fresh Thyme
- GiantFood
- H-E-B
- Hy-Vee
- Jewel Osco
- Meijer
- Pavillions
- Petco
- Publix
- Raley's
- Safeway
- Sam's Club
- Smart & Final
- Sprouts
- Tom Thumb
- Total Wine & More
- Vitamin Shoppe
- Vons
- Wegmans
- Kroger (sub-banners bulleted below)
-
Dillons
-
Fred Meyer
-
Food4Less
-
Foods Co
-
Fry's
-
King Soopers
-
Kroger
-
Pick'n Save
-
QFC
-
Ralphs
-
Smith's
-
- Target
- Walmart
- Whole Foods
Add to Cart Retailer Functionality
Each retailer handles the add-to-cart experience a little differently, which is outside of Destini's control. See below to understand the differences for each retailer.
Amazon Fresh/Whole Foods
The Amazon properties place all of the products passed from the Where to Buy into a shopping list view where the consumer then confirms that they want to add all of those items to their Amazon cart:
Additionally, if Amazon Fresh or Whole Foods detects that one of the items we're sending to the cart is out of stock for the user's zip code (we pass the products using the Amazon ASIN values), Amazon may swap out that product for an alternative that is available. You can see an example of that here, where we attempted to add Blue Plate Real Mayonnaise to Amazon's cart, but due to availability they swapped the item for an alternate brand.
In these instances, Destini is unable to keep Amazon from swapping out products as the function is done on their end. That said, Destini does attempt to pull the most accurate local availability information given the consumer's location, but if Amazon determines a different outcome for their local availability, they may display an alternate product.
Instacart (+ sub-banners)
Instacart places all of the products passed from the Shoppable Recipe into a shopping list view where the consumer then confirms that they want to add all of those items to their Instacart cart:
Instacart's add-to-cart functionality works differently than the other retailers in that Instacart does not support passing a product identifier when sending items to the consumer's cart (ie, SKU/UPC/ASIN). Instead, we can only pass the name of the product. With that, our scrapers attempt to capture the product name that's displayed on the Instacart product detail page (example) and that's what we use when sending the products to their cart.
Another difference for Instacart has to do with the retailer selected. Since Instacart is a delivery service, a retailer needs to be selected on the cart confirmation page. When the consumer redirects from our Shoppable Recipe widget and lands on the site, Instacart is determining which retailer should be defaulted. Generally, if the consumer has visited Instacart's site previously on their device, the last retailer they had selected is cached and will be the one selected.
Lastly, if Instacart detects that one of the items we're sending to the cart is not available based on the user's zip code and/or default retailer selected, Instacart may swap out that product for an alternative that is available. You can see an example of that here, where we attempted to add Tostitos Tortilla Chips Original Restaurant Style to Instacart's cart, but due to availability and/or the default retailer, they swapped the item for an alternate brand.
Note, Instacart does NOT support passing quantities. If any configured products, both branded and generic, had the quantity configured to 2+, the consumer will have to manually update it once they're on Instacart's site.
Kroger (+ sub-banners)
Kroger places all of the products passed from the Shoppable Recipe widget into the consumer's cart once they've logged in and given approval:
In some instances, getting to the retailer's cart may require the consumer to log in to their Kroger account twice. The reason being:
1. Consumers need to be logged in to their account to access their cart
2. Kroger requires a separate log in for the products we're sending to be added to their cart
If the user is already signed into their Kroger account on their device and it's cached, then just the single sign-in will be needed in order for those selected products to get added to their cart:
Additionally, product availability may differentiate depending on the method of acquisition selected by the consumer. So if the consumer has selected 'Delivery', only items that can be delivered to their address will be displayed as available. The same applies if the consumer has selected 'Pickup'. If the product is not available depending on their method of acquisition, then the product will be displayed further down on the page and the consumer can take action from there.
Target
Target places all of the products passed from the Shoppable Recipe widget into the consumer's cart, which does not require the consumer to log in:
For products that cannot be delivered via Standard Shipping , Target will add those products to the consumers cart as 'Saved for later'. The consumer will need to click the 'Add to cart' button and select their method of acquisition, either Pickup In Store or Same-Day Delivery, in order to have those products officially added to their cart.
Note, all items place into 'Saved for later' will not have the configured quantity saved. So if one of those items had the quantity configured to 2+, the consumer will have to manually update it once they've selected their method of acquisition.
Walmart
Walmart places all of the products passed from the Shoppable Recipe widget into the consumer's cart, which does not require the consumer to log in:
There can be instances where one or more of the products being sent to the Walmart is not available given the user's zip code. When this happens, Walmart will let the consumer know that the product cannot be added:
FAQs | Additional Add to Cart Nuances
The Add to Cart functionality is a bit more complex than standard Buy Online redirects, and there are some additional factors that should be noted. See related commonly asked questions below.
What determines which retailers display within my Shoppable Recipe widget?
In order for one of the supported retailers to display within the Shoppable Recipe widget we require that at least one of the branded products configured be available based on our last scrape. If our last scrape captured the product as 'In Stock' then that retailer will display. If all of the branded product(s), including backup products, configured for the recipe widget were found to be 'Out of Stock' for a configured retailer, then that retailer will not display within the recipe widget. Note that generic ingredient availability does not factor in, so if one of those ingredients is out of stock at the selected retailer, the consumer will need to adjust their cart.
Why are some Generic Ingredients not included in the retailer's cart?
In order for a generic ingredient to get sent to the retailer's cart, a retailer URL needs to be stored for that ingredient, and our system needs to have successfully scraped the URL to capture the data needed to send it to the retailer's cart. If a generic ingredient is not sent to the retailer's cart, and the retailer did not indicate that the item is out of stock (as seen in the example Walmart screenshot above), then it is likely due to a missing retailer URL for that item. Retailer URLs can be added within the Recipe Book dashboard, by following the steps below:
1. Select the Edit button within the hamburger menu for the given recipe widget:
2. Navigate to the Ingredient Management page and select the edit icon for the generic ingredient with missing URLs:
If a URL is already stored for the generic ingredient, but we're still not attempting to pass the product to the retailer's cart, then reach out to our support team for investigation.
Note, this applies to all retailers EXCEPT for Instacart and its sub-banners. Instacart and its sub-banners do NOT require retailer URLs to be stored for Generic Ingredients. This is due to Instacart not allowing for product identifiers to be passed to send ingredients to the cart, but rather only allowing for product names to be passed. Therefore, we only pass the name of the generic ingredient.
How do the Instacart Sub-banners work?
The retailers listed above as Instacart sub-banners don't offer their own Add-to-Cart integrations, so in order for them to be supported for Recipe widgets, we are utilizing the Instacart platform as they offer delivery for those retailers. When consumers select one of those sub-banners within the Shoppable Recipe widget, they are redirected to the Instacart cart, with that given retailer selected*. See an example of this in this screenshot:
*Note, if the consumer selects a retailer that is not available in their area, Instacart may swap it out for a different retailer that is available.
Why is the expected Instacart sub-banner not coming through my Shoppable Recipe widget?
In order for one of the Instacart sub-banners to come through the Shoppable Recipe widget, there are a few key requirements:
1. Instacart as well as the sub-banner must be configured as an Automated Buy Online retailer for the brand and must be configured within the recipe widget. If Instacart is disabled in the recipe widget, the sub-banners will also be disabled.
2. We need a retailer URL in our system for the given branded product at both the sub-banner retailer (ie, Albertsons) AND Instacart. Since we're utilizing Instacart's platform for those sub-banners, we need the Instacart URL to confirm that Instacart includes that product as part of their delivery offering.
3. Instacart must have the product as 'in stock' per our last scrape. If Instacart is not showing that product as available, then the consumer would not be able to checkout with that item at Instacart or one of the sub-banners.
How did you determine which brand you pass for Generic Ingredients?
Destini is currently focused on scaling out our Generic Ingredient database, and want to place an emphasis on sending private label versions of Generic Ingredients when possible. This is currently a work in progress, so up to this point, the current Generic Ingredient URLs that are stored were sourced manually. If there is a concern over a current Generic Ingredient that's being sent the a retailer's cart, please reach out to our support team as they have the ability to overwrite the database.
Why do I see a different zip code on the retailer's site than what was in the recipe widget?
Only Instacart currently supports passing the consumer's zip code when they redirect to the retailer's cart. Destini is continuously looking to optimize the consumer experience, so if additional supported retailers enable the functionality of passing the consumer's zip code or having their closest local store selected, we will add that logic into our redirect.
Comments
Please sign in to leave a comment.