A digital media outlet does not live on publishing well alone: it lives on what it manages to monetize and what it learns from its audience. And almost none of that comes inside the CMS. In Arc XP, the content is in the platform; subscriptions, advertising, audience and external data are connected around it.
Carolina Dávila and I know these connections well from our previous experience as developers in the digital area of a national newspaper in Ecuador: Arc XP with Piano and Cxense, Google advertising (alongside AdOps teams) and sports data from DataFactory. This is what is worth knowing about how they are thought through and what to watch.
Every integration is one more script, network call or dependency. Done well they add revenue; done badly they sink site speed and, with it, revenue.
The map: what connects to what
Piece | What it is for | Where it shows on the site |
|---|---|---|
Piano (Composer, ID) | Paywall, subscriptions, access | Articles and the sign-up and payment flow |
Cxense / Piano Audience | Audience data and recommendations | "You may also like" modules and targeting |
Google Ad Manager (formerly DFP) | Serving and measuring advertising | Ad slots in every template |
DataFactory | Sports data (results, tables, fixtures) | Pages and modules in the sports section |
Piano: subscriptions and access control
Piano manages the paywall rules (how many free articles, which content is premium, which offer each reader sees) and subscriber access. The typical integration in an Arc XP front end includes:
- Loading the Piano script in a controlled way, without blocking content rendering.
- Tagging each article with the metadata Piano needs to decide (for example, whether it is premium content).
- Showing the full article, or its trimmed version, depending on Piano's response, taking care that content stays indexable by Google according to paywalled content guidelines.
- Connecting the reader's sign-up and login flow with their account.
The SEO risk here is real: a badly implemented paywall can hide content from search engines or flicker for the user. It is tested with Google's tools, not by eye.
Cxense / Piano Audience: getting to know the audience
Cxense, now part of Piano as Piano Audience, collects reading behavior to generate segments and recommendations. On the front end it translates into a measurement script on every page and modules that request recommendations from its services. Two things matter here: that the module does not delay the main content (it loads afterwards) and that recommendations have a fallback in case the service does not respond.
Google Ad Manager and working with AdOps
Google Ad Manager is the tool Google uses to serve advertising (years ago it was called DFP, DoubleClick for Publishers). The work is split: AdOps defines campaigns, formats and rules; development implements the spaces in every template and feeds them the right targeting. What weighs the most:
- Slots per template and per device: defined once and reused, instead of pasting code on every page.
- Lazy loading: ads off screen should not load yet.
- Reserving space: each ad slot must have its size reserved from the start, or the content jumps (CLS).
- Targeting: send Ad Manager the section, topic and audience data so the advertising performs better.
- Viewability: measure what percentage of ads are actually seen, because that is what advertisers buy.
Advertising is among the things that worsen a media outlet's Core Web Vitals the most. Measuring it with field data from day one avoids many arguments between newsroom, sales and development.
DataFactory: sports data inside Arc XP
DataFactory is a sports data provider. Integrating it means bringing results, league tables and fixtures to the sports pages, and keeping them up to date. The technical decisions are about caching and origin: which data is requested on the server and cached, which is updated in the browser during a match, and what is shown if the provider fails. Done well, it turns the sports section into a place the reader returns to on every matchday.
Mistakes that keep repeating
- Loading all third-party scripts at the start and at the same time.
- Not reserving space for ads and modules, so the page jumps.
- Testing only on a computer with a good connection, not on mid-range phones.
- Integrating without measuring before and after: you do not know how much speed each piece cost.
- No plan for when an external service fails: the site must keep working.
A performance budget before the first script
Before integrating anything, put a budget in writing: how much third-party JavaScript each template may load, how many network calls it may add, what maximum LCP is tolerated on mobile and who measures it every week. When an integration exceeds the limit, the integration is postponed, not the limit.
This conversation is uncomfortable because it puts the newsroom, sales, AdOps and development at the same table. But it is the only way for the total not to surprise anyone: each team adds its piece and nobody sees the whole until the site crawls.
And document what the site does when an external service fails. In a media outlet, the day the ad or subscription provider goes down almost always coincides with the day of highest traffic.
At Codegea we build Arc XP integrations with Piano, Ad Manager and data, and provide Arc XP support and implementation. If your outlet needs to connect or tidy up these pieces, write to us.
Written by
Derian Pinto
Founder & Full Stack Developer
Founder of Codegea. Builds custom websites, stores and platforms, and integrates and supports Arc XP for media companies.
