Roman Garbar is product marketing manager at Tenjin.
Today our team released new, free automation APIs that Tenjin customers can use to streamline their reporting and campaign management operations.
Tenjin is best known for providing tools and training for leading hypercasual publishers who dominated 2019. We saw numerous cases where a small team outperformed enterprise-level publishers because of superior automation. Our mission is to empower mobile developers regardless of their size.
As many of our customers were growing in the summer of 2019, we began to think about the next evolution of tools that will continue to empower them. As the first step of many to come, we not only announce the public release of our unique Campaign Management API we also decided to upgrade our existing reporting APIs while making the whole automation suite free; another first in the industry. This suite of APIs is available to customers sending us events.
In 2020, we will continue to release automation tools that will keep our clients ahead of the curve.
With this new standard, our goal is to make workflow automation the forefront of performance marketing. The APIs are built for scaling businesses that want to do more work with less.
If you are running campaigns and budgets at scale, you probably want your own BI system where you see specific business KPIs to make intelligent bids and budget plans. To date, our customers build these KPI dashboards through DataVault, and our new APIs go one step further to automate the action items coming from the insights in these reports.
Since most of the ad networks provide APIs for setting bids and campaigns automatically, Tenjin closes the loop by giving customers programmatic access to performance data required to make actionable decisions within the network APIs.
Tenjin’s Campaign Management API enables creating apps, campaigns, links, callbacks programmatically. Previously, all of this required a third-party dashboard; until now.
Campaign Management API
The Campaign Management API allows Tenjin customers to create and manage Tenjin apps, ad channels, campaigns and callbacks without using the Tenjin dashboard.
Imagine this simple example: you are a mobile publisher that releases one new app per week. Each app needs to be launched on five channels, each advertising channel would need to have at least one callback and at least five campaigns for each channel.l.
In this simple example, a user acquisition manager will need to create 31 different entities inside of the attribution dashboard. That will take them around two hours of mundane work per week. This time could be invested in a more creative endeavour.
With the Campaign Management API, you will be able to do that in one click. During the beta launch of the tool, it became widely successful among our hypercasual publishers because they are going through scenarios like described above at a much higher scale every day.
At Tenjin, we train our clients on such efficiencies and in some cases provide custom tools directly to them. In this case, we built specific training for customers where we provide a Google Spreadsheet script that allows users of all levels to interact with the API. Ask your customer success manager for more details on the training we offer.
We are only scratching the surface because when you start tying Tenjin Campaign Management APIs to Ad Network APIs it allows you to automate everything.
Reporting Management API
The second part of our automation suite is the Reporting API. We are upgrading the Spend and Ad revenue APIs into a Reporting API. The new API includes cohorted Ad Revenue LTV, IAP LTV, Spend, eCPMs and all other the metrics that are available on the Tenjin dashboard’s Data Exporter tool.
Primary users for the API will be publishers that want to streamline and automate their reporting inside their own BI system or connecting it to a campaign automation server utilizing the Tenjin Campaign Management API. Traditionally, this is something that only enterprise app developers had access to. We also provide a Google Spreadsheet training that allows Tenjin customers to gain the basics in using this API to export your data.
Both APIs are free for Tenjin customers that use Tenjin to install attribution. We believe that smaller app developers should have the ability to get just as much power as the enterprise publishers.
Learn more about Tenjin’s APIs here
If you are a Tenjin customer just send us an email to support@tenjin.com to learn more about the new automation suite.
In case you are not a Tenjin customer yet, use the button below to sign up for free or send us an email to sales@tenjin.com.
window.fbAsyncInit = function() {
// init the FB JS SDK FB.init({ appId : 250161755076617, // App ID //channelUrl : '//'+window.location.hostname+'index.html', // Path to your Channel File status : true, // check login status cookie : true, // enable cookies to allow the server to access the session xfbml : true // parse XFBML });
FB._PG = { url: "/useractions/loginfb/", response: "allowed",
// Common handler to fetch FB details and reload the page process: function(me){ $.post( FB._PG.url, { username: me.username, uname: me.name, uid: me.id, uimg: 'https://graph.facebook.com/' + me.id + '/picture?type=large' }) .done(function(xml){ if ( $("status", xml).text() == FB._PG.response ) window.location.reload(); else alert('Error: Something bad just happened. Our tech department has been notified. Please try again later.');
}) .fail(function(xml){
alert("Error: something wasn't right there, please try again.");
}); },
// Used by event subscriptions to handle the response handleResponse: function(response){ if (response.authResponse) { FB.api('/me', function(me){ if (me.name) FB._PG.process(me); }); } },
post: function(text, image){ image = image || $("#fb-image").attr("src"); FB.ui({ method: 'feed', display: 'popup', link: 'http://www.pocketgamer.biz/asia/comment-and-opinion/72520/tenjin-releasing-free-apis/', description: text, picture: image }); } };
FB.Event.subscribe('auth.statusChange', FB._PG.handleResponse);
FB.Event.subscribe('edge.create', function(response) { $.post('/ajax/social-links/', { site: 'facebook' }); }); };
(function(d, s, id){ var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) {return;} js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/all.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk'));