This article will cover:
- Why a New CAKE Advanced Click Architecture?
- What is CAKE's New Advanced Click Architecture?
- What is Changing for CAKE Clients?
- What Actions Need to Be Taken?
Why a New CAKE Advanced Click Architecture?
The new CAKE advanced click architecture is truly multi-tenant, driving tremendous speed and scale, minimizing the impact of traffic spikes.
Currently for each CAKE client all clicks, impressions, reports and API requests are processed by a single, very powerful server. We set your system up with both a Primary Server and a Backup Server we can failover to in the event of a problem or for maintenance. While best practice at the time and delivering CAKE’s enviable record for reliability, this structure sets fundamental limitations in how quickly we can reallocate resources for each client in response to changes in traffic, and it puts a cap on how much traffic any one client can handle without deploying additional technology. It also means that all traffic you receive around the world has to route to that single server, which for clients operating in multiple regions can have significant impacts in terms of click responsiveness and therefore conversion rates.
With v3, we are keeping the best bits of our previous architecture, but click & impression traffic is now offloaded to dedicated tracking servers that are deployed in data centres all over the world, with the user being handled by a server that is physically closest to themselves, reducing latency and redirect times substantially. Even if your main server or a whole regional datacentre goes down, clicks & impressions continued to be handled during the outage, leading to a seamless experience for your traffic. During testing the processing times for clicks with v3 are up to 20x quicker compared to our v1 architecture and we can scale capacity up and down in real time to the changing traffic needs of our clients.
What is CAKE's New Advanced Click Architecture?
The v3 upgrade is an enhancement to our legacy click tracking architecture and takes full advantage of the latest technology from Amazon Web Services (AWS). This upgrade provides tremendous value to our clients in the form of:
- Performance and Scale
- Redundancy and Reliability
- New Visual Analytics Reports (Ask for details!) - BETA
- Optional access to Impression and/or Click data via S3
What is Changing for CAKE Clients?
There will be a few, but very important technical changes that will take place to support the new click architecture. This may impact how you are tracking and reporting:
- #reqid# format will be changing
- CAKE auto-generates the Request ID value when the #reqid# token is included in your Offer link. When the redirect occurs through CAKE, the token is replaced by a unique value which can be passed back to CAKE in order to reference consumers who clicked, and connect their clicks to the conversion (attribution) in the absence of browser cookies. The format of this unique value is changing. APIs and UI will be impacted.
- Currently, the value passed into the #reqid# token is an integer less than 12 characters. Coming soon, the value will be an alpha numeric string with hyphen up to 25 characters in length.
- Example: 2-9m4e2mr0ui3e8a215n4g
- Tracking and Reporting Updates
- Currently the #reqid# matches up to the Request Session ID in reporting, but moving forward it will match to the Tracking ID. Tracking ID is unique to each Offer in your instance, whereas Request Session ID is shared across multiple Offers within a browser session. If you have an in-house system where you are matching the #reqid# against CAKE-exported clicks/conversions, you will now need to be able to handle strings (Tracking ID) vs integers (Request Session ID).
- API Updates
- CAKE APIs that include the Click ID, Request Session ID, Tracking ID or Visitor ID in their response now treat them as strings vs. integers. We have already updated the Click and Conversion report APIs, listed below, accordingly. Older versions of these APIs will start returning inaccurate data for these unique values in the near future, so we recommend upgrading to the latest versions ASAP. This may require you to alter in-house database systems to support these unique values as strings if you don’t already.
- Additionally, there is a newer version of the Affiliate Click API which includes the Tracking ID field as well as return the Request Session ID and Unique Click ID as strings. We recommend you have any affiliates leveraging the Click API update to this latest version ASAP. If they have in-house systems matching the #reqid# against CAKE-exported clicks, they will need to be able to handle strings (Tracking ID) vs integers (Request Session ID) as well.
Lead Gen Upsells Behavior
Background: Currently, with browser posted leads, when a consumer submits the form on two offers (in two different verticals), in CAKE this would result in a second lead being created as an "upsell". CAKE would merge two records together and the lead would have 2 distinct vertical fields. This behavior is not controlled by the user and happens organically in the system when a consumer submitted two different forms. This can be problematic as the specific buyer contracts need to be configured to buy upsells. This means leads are submitted but will not route to buyers until the buyer configuration is changed. CAKE believes this approach is sub-optimal and we have decided to change the behavior here to streamline the workflow.
Moving forward, CAKE will create two distinct leads when this occurs. Two distinct Leads mean that users will be charged for 2 leads by CAKE and they no longer need to configure their buyer contracts to buy upsells.
SubAffiliates and SubAffiliate ID (Subid) Traffic Controls
SubAffiliate IDs will no longer be added automatically upon click unless there is a corresponding conversion. However, you can add SubIDs manually:
Go the the Affiliate Card
Go to the SubAffiliate Tab
Click Add
Fill in the specific information for the SubID you want to add
Click Save
Currently there are 3 ways to redirect traffic at the subid level. In v3, there will only be 2 ways to control traffic at the subid level: Blacklists and Campaign Exceptions. If you set a subid to inactive, this will no longer control how that traffic is redirected upon click to a 404 page. Instead, if you want to send traffic to a 404, offer redirect or global redirect, please leverage Affiliate Blacklists:
Go to Affiliate Card
Go to Affiliate Tab
Filter to find the SubId you are looking for and Add it if it is not there
Close card and Reopen Affiliate card
Go to Traffic Tab
Go to Blacklists sub tab
Click Add
Fill in the appropriate values to 404, global redirect or offer redirect the traffic
Click Save
Alternatively, you can use Campaign Exceptions:
Go to Campaign Card
Go to Exceptions sub tab
Go to Blocked SubAffiliates
Add SubAffiliate value
Click Save
What Actions Need to Be Taken?
- Request ID - #Reqid# format changes - impacts several levels where this ID lives -- Please Confirm with your partners, who are receiving the CAKE Request ID for Postback URL tracking, that they can receive an alpha numeric string with hyphens as opposed to an integer.
Characteristics of the new #reqid# format:
Changing from a 6-10 digit integer to an alpha numeric string with hyphens up to 25 characters in length
Example: 2-9m4e2mr0ui3e8a215n4g
- Tracking and Reporting- format changes:
- Currently the #reqid# matches up to the Request Session ID in reporting, but moving forward it will match to the Tracking ID
- Change any of your workflows that depend on using Inactive status of a SubID to route traffic to use Blacklists or Campaign Exceptions
- CAKE API updates - CAKE APIs have been updated to newer versions to treat reqid as a string instead of integer. Older version of the following APIs will not function properly after this migration.
Updated Admin APIs:
Replacement API | Replaces | Type | Notes |
/api/3/track.asmx?op=UpdateConversion | V1
UpdateConversionRevenue
V2
UpdateConversionDisposition UpdateConversionPrice UpdateConversion | Admin | We removed request ID as input in the newest versions.
This is not the newest version of this API. Newest version is /api/6/track.asmx?op=UpdateConversionEvents |
/advertisers/api/2/Track.asmx?op=OrderReconciliation | V1
OrderReconciliation
| Advertiser | We removed request ID as input in the newest versions.
This is not the newest version of this API. Newest version is /advertisers/api/3/Track.asmx?op=OrderReconciliation |
/api/12/reports.asmx?op=Clicks | Previous versions 1-11 | Admin | request_session_id was updated to a string instead of a long |
/Reports/Clicks | Previous Version | Affiliate | request_session_id was updated to a string instead of a long |
/api/17/reports.asmx?op=EventConversions | Previous versions 1-16 | Admin | request_session_id was updated to a string instead of a long |