This release had a minor change to topic-based reporting only.
September 13, 2021
The big change in this release was to revamp our reporting to be more focused on topic and region rather than individual keywords and countries/regions. This should make be much faster than the previous geo and keyword reports which will be phased out.
August 31, 2021
The main change in this release involved the server side changes to store how long an ad is viewed. We believe this is a cool metric to show to advertisers and may separate us from competition and generate higher revenues for publishers.
August 13, 2021
This release had no significant user-facing changes. All the changes involved staff interfaces, staff notifications, or documentation.
August 4, 2021
noopener to our ad links as a security precaution.
The other big change was to allow ad types to be publisher (group) specific.
We already have publisher specific ad types as Read the Docs
has a compatible but slightly different ad format from EthicalAds.
Some possible new publishers also expressed interest.
July 22, 2021
Mostly we added some new staff additions to help with payouts and help manage targeting. We also added some callouts to help refer publishers. Lastly, we did add a task to send Slack notifications to staff when publisher metrics change significantly week to week.
July 15, 2021
This release adds a new staff-only interface to manage publishers. It also adds the ability to notify via Slack when a campaign completes. Currently, these notifications are just for staff but in the future we could allow notifications for advertisers as well.
June 30, 2021
This release added change tracking to most models and minor payout workflow improvements.
June 17, 2021
This release improves payouts in the adserver, adds a RegionTopic index for improved reporting, and starts weighting CPC ads to publishers with higher CTR.
June 15, 2021
The biggest new changes here are a task to null out some old data periodically and a staff actions interface.
June 10, 2021
This release added some additional staff-only reports to understand advertising data. It also included a support form for advertisers and publishers to get in touch.
May 17, 2021
This release included advertiser dashboard improvements. Advertisers can invite other users at their company to work with them on advertising. We also added some minor filtering and reporting improvements. There is also a migration to ensure certain fields are unique.
May 5, 2021
The big change here is that the ad decision API now supports sending the URL where the ad will appear. In the future, we can use this for some additional targeting and automated fraud checking.
April 20, 2021
In our reporting interface, we added some more summary and high level data on ad and flight performance from a CTR perspective. The other big change was a tweak to ad prioritization to prioritize higher eCPM ads when making an ad decision.
April 15, 2021
The big change in this release was to add overview screens for advertisers and publishers.
Another change was to include a
ea-publisher query parameter with ad clicks.
This release also had some minor UX improvements to the reporting interface
and a few other minor changes.
April 1, 2021
This was a tweak to the stickiness feature that rolled out earlier today.
March 19, 2021
The main feature in this release was to make sticky ad decisions. This will make the same ad appear for the same user for a certain amount of time (default 15s) even if they load new pages.
March 19, 2021
This release fixes a bug in report sorting and adds a management command to archive offers
|date:||March 15, 2021|
- @ericholscher: Sort indexes based on raw data vs. display (#333)
- @davidfischer: Archive offers management command (#332)
- @dependabot[bot]: Bump elliptic from 6.5.3 to 6.5.4 (#331)
This release made some small reporting updates primarily for performance reasons.
March 8, 2021
This release is primarily bug fixes and minor changes to when scheduled tasks are run.
March 3, 2021
Most of these changes were minor quality of life improvements for managing the ad server. It did involve a small dependency bump so it is a minor version increase.
February 4, 2021
This change included just a new constraint to prevent a DB race condition. Depending on your database, you may need to remove some records to apply the constraint. See the migration file for a query to get the records that need to be removed.
January 19, 2021
We made a change to make it a little easier for advertisers to have compelling ads. Advertisers can now declare a headline for an ad, a body, and a call to action and our default styles bold the headline and CTA. These fields are broken out in our JSON API as well for ads if publishers do custom integrations. No changes were made to existing ads in our system.
December 17, 2020
The big user-facing change on this is to enable the publisher and geo reports for advertisers. There’s also an easy option to exclude a publisher for an advertiser if requested.
December 15, 2020
|date:||December 1, 2020|
This release contained some minor reporting changes and some admin-specific reports. We are testing some new advertiser reports (showing top geos, top publishers) but those are staff-only now but will likely roll out to all advertisers in the next release.
- @davidfischer: Advertiser reporting breakdowns (#295)
- @ericholscher: Add uplift reporting (#294)
- @ericholscher: Additional payout automation (#285)
|date:||November 24, 2020|
There were a few minor fixes and refactors in this release. We are defaulting new publishers to use viewport tracking (#292), and we found a slight bug which was hotfixed related to Acceptable Ads uplift. There were significant internal changes to reporting to make creating new reports easier but these should not have significant user-facing changes.
- @ericholscher: Update a few model method defaults (#292)
- @davidfischer: Report refactor (#291)
- @ericholscher: Don’t overwrite Offer on uplift (#290)
|date:||November 17, 2020|
This version adds additional reporting around keywords and offer rate. Both of these are behind admin-only flags until we do more testing, but will likely be enabled in the next release.
- @ericholscher: Add keyword reporting for publishers (#286)
- @ericholscher: Add Decision modeling to our indexes (#274)
|date:||November 10, 2020|
This version ships two new publisher reports: Geos and Advertisers. It also adds uplift tracking for Acceptable Ads tracking, allowing the server to be used for AA-approved ad networks.
- @ericholscher: Add uplift to Offers (#279)
- @ericholscher: Ship Geo & Advertiser reports to publishers (#278)
- @ericholscher: Don’t pass advertiser to the all publishers reports. (#277)
- @dependabot[bot]: Bump dot-prop from 4.2.0 to 4.2.1 (#276)
|date:||November 3, 2020|
None of the changes in this release are user facing. There are improvements to track and understand the fill rate for publishers (why some requests don’t result in a paid ad) and another change to prepare to show publishers details of the advertisers advertising on their site.
- @ericholscher: Make Offers nullable to track fill rate (#272)
- @ericholscher: Add a new report for Publishers showing their advertisers (#271)
- @ericholscher: Add ability to sort All Publishers report by all metrics (#273)
|date:||October 29, 2020|
This release adds the ability do to viewport tracking on publisher sites. It is managed on the backend via an admin setting, and we’ll be slowly rolling it out to publishers.
- @ericholscher: Add a render_pixel option to the publisher. (#269)
- @davidfischer: Performance workaround for the offer admin (#267)
|Date:||October 27, 2020|
This release adds Celery tasks for indexing of all our generated reporting indexes. We also added a Geo index in beta for this release, along with a few performance improvements.
- @davidfischer: Add an estimated count paginator (#265)
- @davidfischer: Add get_absolute_url methods to flight and advertiser models (#264)
- @ericholscher: Show breakdown report on the Geo/Placement reports by default (#263)
- @ericholscher: Remove unused entrypoint from dockerfile (#262)
- @ericholscher: Properly sort Countries in Geo report by most views (#261)
- @ericholscher: Migrate PlacementImpressions to a Celery task (#260)
- @ericholscher: Clean up Publisher settings (#259)
- @ericholscher: Cleanup celery config to work with beat (#258)
- @davidfischer: Index the date fields on ad impressions, clicks, views, and offers (#257)
- @ericholscher: Callout to EA (#256)
- @ericholscher: Add an initial Geo report for publishers (#244)
|Date:||October 1, 2020|
v0.10.2 finally fixed the slow migration issues.
- @ericholscher: Make ad_type a slug on the AdBase & PlacementImpression (#248)
|Date:||October 1, 2020|
v0.10.0 caused a very long migration which we resolved in v0.10.1
- @ericholscher: Don’t index ad_type on the AdBase (#246)
|Date:||October 1, 2020|
The major change in this release was to allow publishers to individually
track the performance of ads on certain pages/sections separately
by adding an
id attribute to the ad
Behind the scenes, there was a rework in how we track when an ad is
offered and viewed but those are not user facing.
- @ericholscher: Store placements and keywords and add reporting (#239)
September 22, 2020
|Date:||August 25, 2020|
The largest change in this release was to store publisher payout settings and allow publishers to connect via Stripe to attach a bank account for payouts.
- @davidfischer: Turn down the rate limiting logging (#232)
- @davidfischer: Use Django2 style URLs everywhere (#231)
- @davidfischer: Refactor publisher tests (#230)
- @davidfischer: Store publisher payout settings (#229)
- @davidfischer: Refactor flight metadata view (#180)
- @davidfischer: Store publisher payout settings (#177)
|Date:||August 18, 2020|
The two changes in this release were to add branding to the ad server which is only enabled in production and shouldn’t be used by third-parties and to add the ability to group publishers into groups for targeting purposes.
- @davidfischer: Group publishers (#227)
- @davidfischer: Add EthicalAds branding to the adserver (#226)
|Date:||August 5, 2020|
The main change in this version is to add a database model for storing publisher payouts and making that data visible to publishers.
- @davidfischer: Change some log levels around impressions blocking (#224)
- @davidfischer: Save publisher payouts (#223)
- @ericholscher: Make Publisher defaults line up with Ad Network defaults (#222)
|Date:||August 3, 2020|
This release had a few minor changes but the larger changes involved adding the ability to rate limit ad views and an admin action for processing advertiser refunds/credits.
- @davidfischer: Admin action for processing refunds (#220)
- @davidfischer: Default ad creation to live (#218)
- @davidfischer: Ignore all known users (#217)
- @davidfischer: Update the all publishers report to show our revenue (#216)
- @davidfischer: Rate limit ad viewing (#212)
July 29, 2020
July 29, 2020
|Date:||July 28, 2020|
This was purely a bugfix release.
- @davidfischer: Fix a bug around clicking an add after 4 hours (#208)
|Date:||July 28, 2020|
There’s two main changes in this release related to blocking referrers and UAs:
Firstly, the setting
Also, we added a setting
- @davidfischer: Send warnings to Sentry (#206)
- @davidfischer: Allow blocking referrers for ad impressions with a setting (#205)
|Date:||July 28, 2020|
This is a minor release that just changes some cookie settings to have shorter CSRF cookies and send them in fewer contexts. It also allows the link for an advertiser’s ad to contain variables.
- @davidfischer: Allow simple variables in Advertisement.link (#201)
- @davidfischer: CSRF Cookie tweaks (#196)
|Date:||July 23, 2020|
This is mostly a bugfix release and contains some slight operations tweaks. The biggest change is to allow mobile targeting or excluding mobile traffic.
- @davidfischer: Fix a secondary check on geo-targeting (#199)
- @davidfischer: Optimization to choose a flight with live ads (#198)
- @davidfischer: Remove request logging (#193)
- @davidfischer: Allow targeting mobile or non-mobile traffic (#192)
- @dependabot[bot]: Bump lodash from 4.17.15 to 4.17.19 (#190)
- @davidfischer: Flight targeting to include/exclude mobile traffic (#188)
|Date:||July 15, 2020|
The major change in this version is the Stripe integration which allows tying advertisers to a Stripe customer ID and the automated creation of invoices (they’re created as drafts for now) through the admin interface.
- @ericholscher: Order the Ad admin by created date, not slug (#187)
- @davidfischer: Use Django dev for Intersphinx (#186)
- @davidfischer: Stripe integration (#185)
- @ericholscher: Update docs to explain auth on POST request (#184)