Sample Implementation Scope

👍

Want to get started next sprint? Below is a sample project scope to get you moving. Feel free to copy and paste!

Project Objectives

–Implement an onsite monetization program on brand.com in partnership with Koddi.
–Through an effective advertising option, our suppliers can reach the right customers for their products more efficiently.
–Effective native advertising also presents our customers with highly relevant products, without inundating them with too many distracting ads.

High-Level Approach

We are partnering with Koddi to quickly deploy and scale a native ads program. Koddi provides us with all the necessary components to launch a program quickly and efficiently (Link to Koddi Developer Portal. We will use Koddi's campaign management tools (brand.com colors and logo have already been provided to Koddi).

UI Team Effort:
–Ad Unit Design
–Ad Unit Build
–Integration to the advertising APIs (below)

Application Team Effort:
–Integration of the Koddi winnings ads endpoint
–Event endpoints to send data to Koddi (impressions, clicks, conversions) – we should be able to get this using our existing user interaction framework

Areas of Opportunity

As brand.com:
–I want to ensure a relevant and clean ads experience for our customer that supports the path to purchase
–I want to protect our customer data
–I want to give our suppliers a way to safely and effectively improve conversion on brand.com using targeted ads
–I need to send an inventory feed to Koddi daily

As a supplier to brand.com:
–I want to optimize my performance on brand.com through targeted ads
–I want to easily create and report on campaigns campaigns

As a brand.com customer:
–I want to see relevant content/products that match my shopping preferences

Ad Unit Designs

The UX team has provided the following designs for ads:

[insert brand.com specific UI mocks here]

Integration Flow - Creating the Ad Unit

1004

The Koddi winning ads endpoint doc is here. The root URL provided by Koddi is brand.koddi.io.

Koddi has two different methods for winning ads integration, they are detailed here.

We will be using the bidders flow for the following ad units:
–Search (inline sponsored listings)
–Product Recommendations (both PDP and cart)

We will be using the category flow for the following ad units:
–Homepage
–Product Category Pages
–Brand Landing Pages

The ad attribution process on the Koddi side uses a user ID (GUID) to connect impression and click events to conversions, so the ID will need to be consistent across these items. The GUID should contain only numbers and letters (no special characters).

Targeting is going to be key to the overall success of our ads program. New targets can be set up on the Koddi end by the Product team in minutes, but we also need to make sure the segment info from our CDP is sent in the winning ads call. For the MVP, the following segments should be pulled from the customer profile and sent to Koddi as true/false values:
–New Customer
–Luxury Brand Customer
–Rewards Member

We will add additional segments over time.

Koddi typically responds in under 60ms, but if something goes wrong we'll have an internal timeout of 120ms for winning ads calls.

Integration Flow – After the Ad Unit Displayed

We need to implement impressions, clicks, and conversions events for Koddi. Koddi will do all bot filtering, event aggregation, and reporting.

For clicks and impressions we will use our existing user interaction framework to send events to Koddi. Koddi has asked that these be server to server calls that are near real time as possible:
Impression – send to Koddi when a customer views an ad unit (if a user scrolls past an ad and back, it should be send twice – Koddi will handle deduplication as needed)
Click – send to Koddi when a customer clicks on an ad unit (again, Koddi will handle deduplication as needed)

Conversions will need to to be implemented in the check out path (and can be batched to Koddi hourly if needed). For simplicity, we can send all our conversion events to Koddi and they will handle attribution and filtering.

If any of these events fails on the trip to Koddi, they can be retired up to 10 times.

1034

Inventory Feed

We must send Koddi a daily feed of our products. Product ID will be the primary key. Other fields need to include:
–Product ID
–Product Name
–Brand

We will be using the feeds API from Koddi to send them our inventory feed.

Testing

Koddi has offered to help with end to end testing. We should contact them when it's time for testing.