Ad Builder
Campaigns Table Changes
- We've updated the "status" field to now indicate if a campaign is scheduled for a future date. This is much easier to visually parse than looking at the start and end dates.
- The "Edit Campaign" button has been hidden for campaigns imported from Facebook. We can't always support every feature if a campaign (or audience, etc) was not originally created in Marketing Milk.
- Added a "Created From" column to indicate whether a campaign was originally created in Marketing Milk or Facebook.
- Added a sync button to sync all campaigns with Facebook on-demand. Marketing Milk periodically syncs all recently created campaigns with Facebook in the background, every six hours or so, but sometimes you may need to ensure you're viewing the most up to date data possible. That's what this button is for.
- Deferred loading ad sets and ads until user has expanded a campaign. This is to improve performance and keep the initial page load speedy.
- Miscellaneous bug fixes to ensure more accurate data.
Cascading Campaigns
Made a few enhancements to the logic of cascading campaigns. First, ad set groups are now allowed to cascade independently of each other. Previously, if one group of A/B creatives was underperforming, then every ad set would cascade to the next pair of backup creatives. Second, we are now evaluating the performance of an A/B creative pair as a single unit, instead of treating them both separately. For example, instead of rotating them both out if just one of them is underperforming, we now look at their average.
Campaign
-> Adset A -> A/B <active>
Adset A -> A/B (backup 1)
Adset A -> A/B (backup 2)
-> Adset B -> A/B
Adset B -> A/B (backup 1) <active>
Adset B -> A/B (backup 2)
Edit Audience Bugfix
Pin drops and other geolocation features on the audience map show up fine when creating or viewing an audience. But when editing an audience, some of these features were sometimes missing. This has now been fixed.
Data Uploader
Upload Approval/Rejection Emails
Associate Vice Presidents of Project Management, i.e. Tim Hoffmeyer and Jennifer Hamilton, now receive email notifications whenever an upload is approved or rejected.
Stale Upload Reports
Tim Hoffmeyer, Jennifer Hamilton, and Stephanie Jenkins will now receive email notifications whenever a business has went more than 50 days without receiving any sort of upload activity, whether via the data uploader or a Cyclr bridge.
Bad Data Validations
You will now see a warning when uploading data for a given event name that has a pending bad data request that hasn't been approved yet. You will be allowed to submit your upload, but your supervisor will not be allowed to give a final approval until the corresponding bad data request has been resolved. The motivation for this change is to prevent good data from being "wiped out" by a bad data request. For example, if there is data in the time range of August '22 to September '22 that needs to be erased, and then you go and add good data to that same time range before the bad data request has been approved, then the good/fixed data will end up getting thrown out with the bad which is obviously not what we want.


Client Dashboard
Upload Stats
We are continuing to refine and make more transparent how the stats are shown on the Upload Stats page. This has been a source of much confusion as the Drive team continues to expand and fresh talent joins the company. The formulas and math behind some of these stats are not an easy thing to communicate in a succinct way, but the info bubble next to each piece of data should definitely help provide some clarity.
Indicator Lights
Updated the verbiage in the info bubbles to be more informative. Previously, they were ambiguous and confusing, which resulted in a number of support tickets.
Admin
Upload Submissions
The list of pending upload submissions is now sorted with oldest at the top and newest at the end. This makes it easier for people like Craig and Colin to review uploads in the order in which they were submitted.
Bad Data Submissions Table
Fixed a bug where the "Reported By" column was occasionally empty. This was happening when a bad data request was submitted by someone who was then subsequently deleted from our system. We now do a better job of retaining metadata such as this instead of discarding it when a user is deleted.
Miscellaneous
Sendgrid To/Cc/Bcc Bugfix
Fixed a bug in our email service. We send all sorts of notification emails when certain events happen, and sometimes a user is included in both the "to" field as well as the "cc" or "bcc" fields. This was causing our email provider, Sendgrid, to error out and not send the email at all. We now detect and fix this scenario automatically.
Goals Email
The goals email will now automatically retry if Facebook fails or rate limits us. In addition, it is now sent to Stephen Curitore and Logan Roberts.
Expired User Session Bugfix
Occasionally, if you've left a tab open for too long, your user session will expire and you will need to re-login to Marketing Milk. Pretty standard stuff. However, we noticed a bug that was causing an indefinite loading screen to be shown when this happens instead of automatically redirecting you to the login screen. A simple page refresh typically resolved the issue, but now that's no longer necessary and we do this automatically.
Soft Deleting Users
Changed the verbiage around deleting a user, which was incorrectly stating that it is a permanent action. We employ a "soft delete" strategy on the backend and users can always be restored after being deleted.
Offline Events Validation Endpoint
The endpoint for validating whether offline events are valid or not (used by several Cyclr bridges and by clients who forward events to us directly) was reporting errors if you did not have the direct_attribution property explicitly set. This was incorrect, because the endpoint for uploading offline events doesn't actually require this property. If direct_attribution is omitted then it will default to false. The validation endpoint has now been updated to be in alignment with the upload endpoint in regards to direct_attribution.
Attribution Legacy Mapping Bugfix
Removed the concept of the legacy event mapping, which was causing leaky attribution data across different incoming mappings. This was left in as a fail safe years ago when we introduced the concept of multiple event mappings per day as a means of referencing the initial legacy new/repeat event mapping back before we supported mappings by day. This however caused some data to incorrectly leak into other funnel stages, though it does not seem to be too common.
noreply@marketingmilk.com
- We are switching many of our automated emails to start using noreply@marketingmilk.com
- support@marketingmilk.com has been changed to a mailing list that includes the entire Marketing Milk team, so if you have questions or feature requests feel free to use this email.
- Please do not use operations@marketingmilk.com or ops@marketingmilk.com for any reason, as you are unlikely to receive a timely response at those addresses.