# Rival Ads — complete documentation > Every Rival Ads documentation page, concatenated. Rival Ads tracks the ads > your competitors run on Meta, Google, TikTok and LinkedIn: real creatives, > exact copy, started/stopped diffs and AI strategy reads. > **Source:** https://www.rivalads.io/docs > **Index:** https://www.rivalads.io/llms.txt > **Pages:** 27 ## Contents 1. Rival Ads documentation — https://www.rivalads.io/docs 2. Quick start — https://www.rivalads.io/docs/quick-start 3. Monitors & projects — https://www.rivalads.io/docs/monitors 4. Supported channels — https://www.rivalads.io/docs/channels 5. Ad activity & data — https://www.rivalads.io/docs/ad-data 6. Landing pages & offer timeline — https://www.rivalads.io/docs/landing-pages 7. Creative intelligence — https://www.rivalads.io/docs/creative-intelligence 8. Search & saved views — https://www.rivalads.io/docs/search 9. Strategy reads & reporting — https://www.rivalads.io/docs/ai-analysis 10. Library — https://www.rivalads.io/docs/library 11. Inspiration & rising advertisers — https://www.rivalads.io/docs/inspiration 12. Alerts & weekly digest — https://www.rivalads.io/docs/alerts 13. Team, roles & access — https://www.rivalads.io/docs/team 14. Workspace & profile settings — https://www.rivalads.io/docs/workspace-settings 15. Languages & translated content — https://www.rivalads.io/docs/languages 16. Whitelabel & custom domains — https://www.rivalads.io/docs/whitelabel 17. Billing & plans — https://www.rivalads.io/docs/billing 18. Add a competitor — https://www.rivalads.io/docs/add-competitor 19. Manage client access — https://www.rivalads.io/docs/manage-access 20. Share a report — https://www.rivalads.io/docs/share-reports 21. Build a swipe file — https://www.rivalads.io/docs/organize-library 22. Connect LinkedIn — https://www.rivalads.io/docs/connect-linkedin 23. Troubleshoot a sync — https://www.rivalads.io/docs/troubleshooting 24. API & MCP — https://www.rivalads.io/docs/developer-api 25. API versioning & deprecation — https://www.rivalads.io/docs/api-versioning 26. Frequently asked questions — https://www.rivalads.io/docs/faq 27. Rival Ads glossary — https://www.rivalads.io/docs/glossary --- ## Rival Ads documentation *Learn how to track competitor ads, understand changes, build a swipe file, share reports and manage clients in Rival Ads.* Source: https://www.rivalads.io/docs · Markdown: https://www.rivalads.io/docs.md Rival Ads watches the public ads run by named competitors on Meta, Google, TikTok and LinkedIn. It keeps the creative and copy together, shows what started or stopped, and turns those changes into useful competitive intelligence. Use this knowledge base to set up your first competitor, understand every customer-facing feature, or find the exact steps for a task. When a step names a control in **bold**, it matches the label in the English interface. ### Start here - [Quick start](/docs/quick-start) — go from a new account to your first competitor and first results. - [Add a competitor](/docs/add-competitor) — a field-by-field guide to **Track a competitor**. - [Supported channels](/docs/channels) — what to enter for Meta, Google, TikTok and LinkedIn. - [Frequently asked questions](/docs/faq) — short answers about access, alerts, billing, reporting and data. ### Understand the product - [Monitors & projects](/docs/monitors) explains how a competitor, channel, location and client project fit together. - [Ad activity & data](/docs/ad-data) covers **Started**, **Stopped** and **Continued**, plus **Gallery**, **Board** and **Table**. - [Landing pages & offer timeline](/docs/landing-pages) explains the captured page behind Meta and Google ads and the history of the price it shows. - [Creative intelligence](/docs/creative-intelligence) explains hooks, angles, personas, transcripts and on-screen text. - [Strategy reads & reporting](/docs/ai-analysis) covers scheduled reads, report history, PDFs and public report links. - [Library](/docs/library) explains the shared swipe file, folders and downloadable creative packs. - [Inspiration & rising advertisers](/docs/inspiration) explains the opt-in shared ad pool, what you share and get, and how the **Rising** tab ranks advertisers who recently started launching. - [Alerts & weekly digest](/docs/alerts) explains what is emailed, when, and who receives it. ### Run a workspace or client service - [Team, roles & access](/docs/team) — invite teammates and keep each client scoped to the right work. - [Workspace & profile settings](/docs/workspace-settings) — names, passwords, language, timezone and workspace switching. - [Languages & translated content](/docs/languages) — personal and client language choices, inheritance, and when reports are prepared again. - [Whitelabel & custom domains](/docs/whitelabel) — apply your brand to client-facing surfaces. - [Billing & plans](/docs/billing) — current limits, refresh schedules, trial, invoices and AppSumo plans. ### Common workflows - [Manage client access](/docs/manage-access) - [Share a report](/docs/share-reports) - [Build a swipe file](/docs/organize-library) - [Connect LinkedIn](/docs/connect-linkedin) - [Troubleshoot a sync](/docs/troubleshooting) ### A useful first scenario An agency creates one project per client, adds each competitor to that project, and grants the client **Whole project** access. The strategist reviews **Ad activity**, saves strong examples to a client folder in **Library**, then shares the latest read using **Download PDF report** or **Public report link**. The client sees only their project and receives only the alerts and digest entries they are allowed to see. If a term is unfamiliar, use the [glossary](/docs/glossary). For account-specific help, [contact support](/contact). --- ## Quick start *Create a workspace, add the first competitor, review ad activity and invite a teammate.* Source: https://www.rivalads.io/docs/quick-start · Markdown: https://www.rivalads.io/docs/quick-start.md This guide takes a new workspace from sign-up to useful competitor ad data. ### 1. Create the account and workspace 1. [Sign up](/sign-up) with your work email. 2. Use the verification message in your inbox. 3. Enter the workspace name. An agency normally uses its agency name; an in-house team normally uses the company name. 4. Add a competitor during onboarding. 5. Choose a plan. Subscription plans begin with the first month free. The first competitor starts fetching after plan setup. Results normally begin to appear within a minute or two, although a public source can occasionally take longer. ### 2. Add another competitor From **Monitors**, select **Add competitor**. The **Track a competitor** dialog starts with **Competitor website**. Enter a normal website such as `example.com`. Rival Ads tries to find its Meta and Google presence. Confirm the **Competitor name**, **Project**, **Locations to monitor** and **Channels to track**, then select **Start tracking** or **Start tracking all**. Each selected channel creates one monitor and uses one plan slot. For every field and channel-specific example, see [Add a competitor](/docs/add-competitor). ### 3. Review the first results Open the competitor from **Monitors** and stay on **Ads**: 1. Under **Ad activity**, choose **Day**, **Week** or **Month**. 2. Choose **Gallery** for visual browsing, **Board** for Started/Stopped/Continued columns, or **Table** for a compact comparison. 3. Use **Location**, **Status**, **Ad type** or **Angle** to narrow the results. 4. Select **Save** on a useful ad to add it to **Library**. 5. Select **Intelligence** to see creative details when they are ready. The first source check establishes the baseline. Later checks reveal what started, stopped or continued. ### 4. Check Reporting Select **Reporting** on the monitor. The panel shows when the first **AI strategy read** is expected; it is prepared once the monitor’s first ads are captured. Once a read is complete, owners and admins can use **Download PDF report** or enable a **Public report link**. ### 5. Set up email Owners and admins can open **Alerts**: - **Instant new-ad alerts** can be turned on or off per monitor. - **Weekly digest** is always on for members who can see at least one relevant monitor. - First source checks do not send instant alerts because every ad would appear new. ### 6. Invite a teammate or client 1. Open **Team**. 2. Select **Invite teammate**. 3. Choose Admin for full workspace access or Member for scoped access. 4. For a Member, select **Access** and grant **Whole project**, **Specific monitors** or **All projects — current & future**. For a client-safe example, follow [Manage client access](/docs/manage-access). ### Next steps - Create one project per client or brand: [Monitors & projects](/docs/monitors). - Learn what differs by source: [Supported channels](/docs/channels). - Build a team swipe file: [Build a swipe file](/docs/organize-library). - Find advertisers you have not thought of: [Inspiration & rising advertisers](/docs/inspiration). - Apply an agency brand: [Whitelabel & custom domains](/docs/whitelabel). --- ## Monitors & projects *Understand monitors, channels, locations and projects before setting up competitor tracking.* Source: https://www.rivalads.io/docs/monitors · Markdown: https://www.rivalads.io/docs/monitors.md A **monitor** tracks one competitor on one advertising channel. Tracking the same competitor on Meta and Google creates two monitors because each channel has its own source, ads and history. Your plan allowance is measured in monitors. ### What a monitor contains Each monitor has: - A competitor name. - One channel: Meta, Google, TikTok or LinkedIn. - A source for that channel, such as a Facebook page URL, website domain or advertiser name. - One to five **Locations to monitor**. The first location is the default results filter. - A project. - Its own ad history, read state and **Instant new-ad alerts** setting. The channel icon appears beside the competitor name throughout the product. The same name can therefore be used once per channel. ### Projects Projects group monitors, usually by client, brand or business unit. Every workspace starts with a **General** project. Owners and admins can select **New project**, enter a **Project name**, and optionally choose a **Client language**. The client language controls strategy reads, public reports, PDFs and client copy-sheet labels for monitors in that project unless a report link uses its own language. A project can be renamed as long as no other project in the workspace uses that name. It can be deleted only when it is empty; move or delete its monitors first. Deleting a project does not silently delete monitor history. ### Moving a monitor Open a monitor and select **Edit**, then choose a different **Project** and **Save changes**. Project-level access follows the destination project, so moving a monitor can change who sees it. For example, moving a Meta monitor from “Internal research” to “Client A” immediately makes it visible to members with **Whole project** access to Client A and removes access that came only from the old project. If the destination project changes the monitor’s effective client-facing language, Rival Ads also prepares a matching strategy read. A monitor-specific **Report language** can keep the language unchanged. See [Languages & translated content](/docs/languages). ### What admins and members can do Owners and admins see every monitor and can add, edit, assign, sync and delete them. Members see only monitors granted through a project or direct assignment. Their **Library**, alerts and weekly digest follow the same visibility. Use [Team, roles & access](/docs/team) for the permission model or [Manage client access](/docs/manage-access) for a step-by-step setup. ### Monitor actions - **Sync now** requests a fresh source check without waiting for the next scheduled fetch. - **Edit** changes the monitor name, source, project and instant-alert setting. - **Assign** grants quick direct access to selected members. - **Delete monitor** permanently removes the monitor and its full history. Replacing the source is different from correcting its formatting. When the product asks you to confirm **Replace this monitor source**, it will clear existing ads, saved ads, read history, strategy reports and the public report link. Review the warning before continuing. To create one, follow [Add a competitor](/docs/add-competitor). For source-specific requirements, see [Supported channels](/docs/channels). --- ## Supported channels *Learn what Rival Ads needs for Meta, Google, TikTok and LinkedIn monitors and what each public source can provide.* Source: https://www.rivalads.io/docs/channels · Markdown: https://www.rivalads.io/docs/channels.md Rival Ads tracks four public advertising sources. A competitor selected on multiple channels becomes one monitor per channel. ### Channel summary | Channel label in Track a competitor | What you enter | Connection needed | | --- | --- | --- | | Meta · Facebook & Instagram | Facebook page URL or Meta Ad Library URL | No | | Google · Search, Display & YouTube | Competitor website domain | No | | TikTok · Commercial Content Library | Advertiser or brand name | No | | LinkedIn · Ad Library | Company or advertiser name | One workspace LinkedIn connection | The competitor is not notified. Rival Ads reads public transparency sources rather than connecting to the competitor’s advertising account. ### Meta · Facebook & Instagram Enter a Facebook page URL or Meta Ad Library URL. A direct Ad Library link that identifies the advertiser is the most reliable choice. A normal Facebook page URL also works and is resolved during a source check. Meta can publish image, video and carousel ads, copy, headlines, calls to action, dates, destinations and variant information. Availability varies by ad. Meta shows some creatives only to signed-in, age-verified viewers, usually ads in age-restricted categories. Those cards say "Age-restricted creative". Their copy, dates and destinations are still tracked, and their hooks and angles are still read from the copy. Very long video ads are kept as their opening (up to three minutes), and the player says so. Example: paste `https://www.facebook.com/examplebrand`, select Meta, and choose the countries you want to query. ### Google · Search, Display & YouTube Enter the competitor’s root domain, such as `example.com`, without a page path. Rival Ads searches the Google Ads Transparency Center for advertisers associated with that domain. Google results can include text, image and video formats. Some entries have rich artwork; others provide a representative preview or limited metadata. Artwork can arrive after the ad first appears while Rival Ads saves the image or captures its preview. Some creatives remain unavailable in Google’s own archive and display a placeholder. If many cards stay blank after processing, contact support with the monitor link so we can investigate; a large blank board should not simply be assumed normal. Example: use `notion.so`, not `notion.so/product`. ### TikTok · Commercial Content Library Enter the public advertiser or brand name, such as `Gymshark`. Rival Ads matches the name to an advertiser in TikTok’s library. TikTok’s public commercial archive is limited to the UK and EEA. If a selected location is not supported, **Track a competitor** asks you to change **Locations to monitor** before continuing. Because advertiser names are not always unique, check the first results. If they belong to the wrong advertiser, open **Edit** and correct the source. ### LinkedIn · Ad Library Enter the company or advertiser name, such as `Notion`. LinkedIn requires one member account to authenticate access to its public Ad Library data. The workspace owner connects it under **Settings → Integrations**. One connection covers every LinkedIn monitor in the workspace, across all projects. Any normal LinkedIn member account can be used; it does not grant Rival Ads access to that member’s advertising account. LinkedIn access lasts about 60 days. Use **Reconnect** when the interface warns that it is expiring or expired. See [Connect LinkedIn](/docs/connect-linkedin). ### Locations and source differences Each monitor supports up to five locations, with the first as its default filter. The four sources do not expose an identical set of fields or language filters. Rival Ads preserves available source evidence and leaves unavailable fields blank rather than estimating them. See [Ad activity & data](/docs/ad-data) for the shared view and [Troubleshoot a sync](/docs/troubleshooting) if the wrong advertiser or no ads appear. --- ## Ad activity & data *Read started, stopped and continued ad activity in Gallery, Board or Table and understand the fields available from each source.* Source: https://www.rivalads.io/docs/ad-data · Markdown: https://www.rivalads.io/docs/ad-data.md Open a monitor and select **Ads** to reach **Ad activity**. Choose a period, view and filters to answer questions such as “What launched this week?”, “Which video ads stopped?” or “What has kept running for a month?” ### Periods and statuses Choose **Day**, **Week** or **Month**. Rival Ads places each ad into one status for that period: - **Started** — the ad began during the selected period. - **Stopped** — the ad stopped during the selected period. - **Continued** — the ad was already running before the period and continued through it. Long-running ads can be useful evidence of durable messaging, but public ad libraries do not provide conversion results or spend. Continued does not prove profitability. ### Views - **Gallery** is the visual browsing view. Use it to scan creative quickly. - **Board** separates Started, Stopped and Continued into columns. - **Table** is the compact comparison view with sortable facts and actions. The same filters apply across the views: **Location**, **Status**, **Run time** (ads live at least 7, 15, 30, 90, 180 or 365 days, the fastest way to surface proven creatives), **Ad type** and, when creative intelligence is available, **Angle** and **Language**. Language is the language the creative itself is written in, read from the ad rather than taken from your own settings, and the filter only appears when a competitor runs more than one - picking German narrows the Copy & Hooks tab to German too. An ad we have not finished reading carries no language yet and never matches a specific one. An ad with no known start date never matches a run-time preset; its run is unknown, not zero. Meta monitors add a **Reach** filter and a **Highest reach** Gallery sort; LinkedIn monitors add an **Impressions** filter and a **Most impressions** sort, built on the impression range LinkedIn itself publishes for every ad - an ad only matches a minimum its published range guarantees. In Gallery you can also sort by **Longest running**. A search box sits beside the filters and reads everything Rival Ads has on each ad - copy, video transcript, on-screen text and the intel read - with `-term` exclusions and quoted phrases; see [Search & saved views](/docs/search). Filters and search ride the page URL, so a filtered board is a link you can send, and the **Views** button saves the current combination as a named view for the whole workspace. ### What an ad can show The source determines which fields are available. A card can include: - Creative artwork or a visual preview. - Exact ad copy, headline and call to action. - Start and stop dates. - Image, video, carousel or text type. - Landing page or display domain. On Meta ads, and on Google ads whose destination Google publishes (many video ads and some image ads), the page is captured, dated and keeps a history of the price it shows; see [Landing pages & offer timeline](/docs/landing-pages). - Variants, published reach (Meta EU/UK) or the published impression range (LinkedIn) when the source reports it. - **Download creative** and **Open in source library** actions. - A **New** label until you review a newly discovered ad. Not every source publishes every field. Rival Ads shows the evidence that is available and does not invent missing performance figures. ### Locations A monitor can query up to five locations. Use **Location** to switch between the monitored results or see the combined view. The first location selected during setup is the default. An ad keeps the language supplied by its source. ### Saved ads and intelligence Select **Save** to add an ad to the workspace [Library](/docs/library). Select **Intelligence** to open its hook, angle, persona, transcript or on-screen text when available. See [Creative intelligence](/docs/creative-intelligence) for how those fields differ from a strategy read. ### Media and source links Where the source allows it, Rival Ads keeps a durable copy or representative preview so the visual remains useful after the source listing changes. **Open in source library** is the best way to inspect the source’s current public record. A source may later remove or restrict that record. --- ## Landing pages & offer timeline *How Rival Ads captures the page behind a competitor's ad, keeps a history of the price it shows, and decides when a price change is reported.* Source: https://www.rivalads.io/docs/landing-pages · Markdown: https://www.rivalads.io/docs/landing-pages.md An ad points at a page, and that page is where the competitor's budget is really going: the offer, the price, the promotion. Rival Ads captures that page, keeps the capture dated, and keeps a history of the price the page showed each time it was captured. ### What is captured For every ad that carries a destination, Rival Ads records the page behind it once per destination, not once per ad. A competitor running fifty creatives at one product page has one landing page in Rival Ads, and the number of live ads pointing at it is itself the signal: which offer is carrying their spend. Each capture stores: - A screenshot of the page as it rendered. - The page title and description. - The first price the page shows, when it states one plainly. - The date the capture was taken. Captures are refreshed on a cadence while ads still point at the page. Pages that cannot be rendered (a consent wall, a bot check, an unreachable server) are recorded as such and retried later; they are never shown as if they were the competitor's page. ### Which ads have a landing page What the ad libraries publish decides which ads can have one: - **Meta:** every ad that links somewhere. - **Google:** many video (YouTube) ads and some image ads, depending on the advertiser. Google publishes their destination inside the ad preview, so Rival Ads reads it from there. Search (text) ads have none: Google's archive keeps them as a picture of the ad with no link, so they show the advertiser's domain instead. - **TikTok and LinkedIn:** none. Neither library publishes where an ad links. ### Where to find it Open a competitor's board. An ad whose page has been captured shows a small strip under the creative with the page's thumbnail, its price and the date of the capture. Select the strip to open the full capture with the title, description, price, the number of live ads pointing at the page, and a link to the live page. ### The offer timeline Every landing page keeps a history of the price it showed. Open the capture and select **Price history** to read it. Each entry shows: - What the page said, or **No price shown** when it stated none. - When we first saw it say that and when we last saw it, so a price the page kept for three months is one entry, not three. - **View this capture**, which swaps the screenshot to the capture that shows that reading, with its date. When the current price differs from the previous one, the card shows **was £49** beside the current price, and the capture says **Changed 12 days ago, was £49**. When a page stops showing a price, the entry says **No price shown**. It is never recorded as free or as a markdown. ### What counts as a price change Rival Ads reads the first price on the page. A page can change how it is laid out without changing what it charges, and a new banner such as "Save $10 on your first order" placed above the product would otherwise look like a discount. To keep the timeline honest, a new reading is reported as a change only when one of two things holds: 1. The new price appears in the same place on the page as the old one, and the old figure is gone. That is the price changing in its own element, and one capture is enough. 2. The same new reading appears on two captures in a row. Until then the reading is shown in the timeline marked **Not yet confirmed**, and it does not appear on the card or in your weekly report. A page that shows a different price only once, for instance an A/B test we caught on one visit, is never reported as a change. The first reading a page ever gets is its starting point, not a change. A page that goes back to its last confirmed price after a one-off reading needs no second look either: nothing changed. ### In the weekly digest When a landing page's price change is confirmed during the week, the competitor's section in the [weekly digest](/docs/alerts) lists it with the old and new value together and the date the page began showing the new price. A competitor whose only move that week was a confirmed price change still earns a section. ### Why every reading shows a date A landing page is a live document the competitor can edit at any time. A price without the day we read it would present an old offer as the current one, so every surface, from the card strip to the timeline to the digest, carries the date of the capture it rests on. ### Frequently asked questions #### How often is the price read? Each time the page is captured. Rival Ads makes no extra visits for the timeline, so its resolution is the capture cadence, and the dates tell you exactly when each reading was taken. #### Why does the price look wrong? Rival Ads takes the first price-shaped text on the page, which on some pages is a shipping threshold or a "was" price. The timeline records what the page showed at that position, and the capture is one click away so you can see it in context. #### Does deleting a monitor remove the history? Yes. The landing pages, their captures and their price history belong to the monitor's source and are removed with it, including when you replace the monitor's source. --- ## Creative intelligence *Understand ad hooks, angles, personas, visual styles, transcripts and on-screen text in Rival Ads.* Source: https://www.rivalads.io/docs/creative-intelligence · Markdown: https://www.rivalads.io/docs/creative-intelligence.md Creative intelligence reads an individual ad’s creative and copy. It helps a marketer compare how competitors open ads, frame the problem, speak to an audience and ask for action. It is different from an **AI strategy read**: creative intelligence describes individual ads, while a strategy read summarizes the competitive changes over the period since the last read. ### Where to find it Open a monitor, select **Ads**, and look for: - The **Creative intelligence** summary above the results. - An ad’s **Intelligence** action in Gallery, Board or Table. - The **Angle** filter once relevant ads have been read. Newly discovered ads are read after the source check. The interface shows **Reading this ad…** while work is in progress; hooks and angles usually land a few minutes after a sync. ### Summary fields The expanded **Creative intelligence** summary can show: - The mix of messaging angles in the selected period. - **Longest-running hooks**. - **Who they're targeting**. - How many ads have been read and how many are still being processed. The summary follows the current Day, Week or Month period and active filters. ### Per-ad fields Select **Intelligence** on an ad to view available evidence: - **Hook** — the opening line or idea used to earn attention. - Angle — a consistent category such as Social proof, Problem / solution, Offer, Testimonial, Product demo, Urgency, Educational, Comparison or Lifestyle. - Persona — the audience the ad appears to address. - Visual style — such as UGC, Studio, Motion graphics, Screen recording, Text-led, Product shot, Meme or Animation. - **Transcript** — spoken words recovered from supported video audio. - **On-screen text** — words visible in the creative. - **Ad copy** — the source-provided body copy. Some fields will be absent when the source provides limited media, audio is unclear or the creative cannot be read reliably. The original **Ad copy** and **View at source** remain useful checks. ### Language and verbatim evidence Creative-intelligence controls and category labels follow the viewer’s dashboard language. The evidence itself does not: ad copy, hooks, transcripts and on-screen text stay exactly as the advertiser published or spoke them. Changing a personal, workspace, project or report language does not regenerate an ad’s creative intelligence. ### How to use it Scenario: a competitor launches ten ads. Filter **Angle** to Offer and compare the hooks. Save the strongest examples to an “Offers” folder, then use the strategy read to see whether the campaign represents a broader shift. Creative intelligence is research assistance, not performance data. It cannot know conversions, spend or why the advertiser made a decision. For the underlying views, see [Ad activity & data](/docs/ad-data). For period-level conclusions, see [Strategy reads & reporting](/docs/ai-analysis). For the complete language model, see [Languages & translated content](/docs/languages). --- ## Search & saved views *Search everything Rival Ads has read from your competitors' ads - copy, video transcripts, on-screen text and creative intelligence - and save filter sets as named views.* Source: https://www.rivalads.io/docs/search · Markdown: https://www.rivalads.io/docs/search.md Every ad Rival Ads tracks is read once and kept: the ad copy, the words spoken in a video (transcript), the text baked into the creative (on-screen text) and the creative-intelligence read (hook, angle, persona, CTA, visual style). Search runs over all of it at once, so questions like "which competitors mention free shipping" or "who runs founder-to-camera ads" have direct answers. ### Why it matters Most ad libraries only match the written caption - but on video-first channels the message lives in the spoken words and the text baked into the creative, which a caption search never sees. Rival Ads transcribes and reads every ad once at collection time, so search covers what an ad actually says, not just what was typed into it: - **Claims monitoring** - "which competitors say `"clinically proven"`" finds the phrase even when it is only spoken in a video. - **Offer intelligence** - `free shipping -sale` shows who leads with shipping without discounting, across a whole project side by side. - **Creative angles** - `founder` surfaces founder-to-camera ads via the intel read, even when no caption mentions a founder. Because search runs over what has already been collected and read, results are instant and cover your full history. ### Where you can search - **Search page** (sidebar > Search) - one box across every monitor in a project, grouped by competitor. Each result shows which part of the ad matched (copy, hook, transcript, on-screen text or intel) with the matching words highlighted, and clicking a result opens that monitor's board already filtered to your search. - **Monitor board** - the search box next to the board filters narrows the board, and every filter count updates to match. - **Library** - search your saved ads and Inspiration snapshots; ZIP downloads follow the search, so the bundle holds exactly what the filtered page shows. - **Inspiration** - the pool's search box uses the same syntax over participating workspaces' shared ads. ### Search syntax - `free shipping` - ads containing both words, in any field, in any order. - `"free shipping"` - ads containing that exact phrase. - `-sale` - excludes ads that mention "sale" anywhere, including in a transcript. - The last word you are typing matches as a prefix, so `ship` already finds "shipping". Transcripts and on-screen text are kept verbatim in the ad's own language, and search matches them as written - a Czech ad is found by its Czech words, not by a translation. ### Saved views Any combination of filters and search terms can be saved as a named view from the **Views** button in the toolbar. Saved views are shared with your whole workspace, and applying one restores the exact filter set. Because filters live in the page URL, any filtered view is also shareable as a plain link. Search looks through what has already been collected and read. A brand-new ad's copy is searchable as soon as it is collected; its transcript, on-screen text and intel join the moment the creative-intelligence read completes, usually within minutes. --- ## Strategy reads & reporting *Understand scheduled AI strategy reads, report history, PDF export, public report links and client-facing report languages.* Source: https://www.rivalads.io/docs/ai-analysis · Markdown: https://www.rivalads.io/docs/ai-analysis.md Open a monitor and select **Reporting**. This area turns the period’s ad changes into a client-ready competitive read and keeps earlier reads available for comparison. ### What a strategy read contains A completed **AI strategy read** can include: - The most important competitive takeaway. - Changes in creative style, copy angles, offers and product emphasis. - New ads that matter and ads the competitor pulled. - Proven winners that are still running. - Practical recommendations for your team. - Supporting artwork from the monitored ads. The read is grounded in the ads captured for that monitor. When there is limited evidence, treat the output as a prompt for investigation rather than a claim about spend, conversions or business intent. ### When reads are prepared Every monitor with an available source gets a read on a guaranteed cadence. Starter and Growth can also bring that read forward when a source check finds a change. - Starter and Growth: at least one read a month. - Scale, Agency and Max: at least one read a week. When a sync finds the competitor **started or stopped an ad**, Starter and Growth prepare the next read once 14 days have passed since the last one, ahead of the monthly guarantee. Scale, Agency and Max run every 7 days. A source can report a start or stop after it happened, so these cadences describe when Rival Ads reads captured changes rather than promising when each public library will expose them. A monitor’s first read is prepared once its first ads are captured, their creatives have been collected, and each ad has been read for its hook and angle, so the read can look at the actual creatives. Video transcripts can follow later. On a quiet day this adds up to about an hour. If collection runs long, the read stops waiting after six hours and uses whatever has arrived. The **Reporting** panel shows the date your next read is guaranteed by; monthly plans may arrive before then when the competitor moves. There is no manual “run analysis” button. If the ad source is unavailable — for example, an expired LinkedIn connection or a source access block — reads pause rather than presenting stale rows as current. The **Reporting** panel shows the pause until a successful sync restores the cadence. Some public ad libraries return a bounded collection for very large advertisers. If an older creative first appears in a later collection, the next read treats it as newly observed evidence while retaining the source’s original start date; it does not silently disappear from every reporting window or get presented as a recent launch. ### Previous reads Use **Previous reads** to select an earlier period. The selected read controls both the on-screen report and the PDF export, which makes it possible to revisit what changed at a specific point in time. ### Share & export Owners and admins can use **Share & export**: - **Download PDF report** exports the selected completed read. - **Public report link** gives anyone with the link the latest completed read without requiring an account. - **Protect this link** adds a password. - **Report language** can inherit the project/workspace language or use a supported language specifically for that link. - **Generate a new link (revokes the old one)** replaces the URL when access should be withdrawn. Client-facing reports carry the active workspace identity. Agency, Max, Ultra and AppSumo Tier 3, 4 and 5 workspaces can apply their configured name, colors and logo and use a custom domain; other plans use the workspace name with standard Rival Ads styling. Changing the effective client-facing language prepares or reuses a matching read without rewriting **Previous reads**. Follow [Languages & translated content](/docs/languages) for the exact triggers and inheritance rules. Follow [Share a report](/docs/share-reports) for the complete workflow. For ad-by-ad hooks, angles and transcripts, see [Creative intelligence](/docs/creative-intelligence). --- ## Library *Use the shared Rival Ads swipe file to save ads, sort them into folders and download artwork with copy sheets.* Source: https://www.rivalads.io/docs/library · Markdown: https://www.rivalads.io/docs/library.md **Library** is the workspace’s shared swipe file. Every team member uses the same folders and saved-ad collection, while each person only sees saved ads from monitors they are allowed to access. ### Save an ad From Gallery, Board or Table, select **Save** on an ad. The menu lets you: - Save to **Library (no folder)**. - Choose an existing folder. - Enter **New folder** and select **Create folder and save**. After saving, the action reads **Saved**. Open it again to move the ad or choose **Remove from library**. ### Browse the Library Open **Library** from the dashboard navigation. Filters include: - **All ads**. - A named folder. - **Unsorted** for saved ads with no folder. - **Run time** presets (7+ to 365+ days) to keep only the saved ads that ran that long. Downloads follow the filtered view, so a "30+ days" ZIP contains exactly the proven ads on screen. - **Language** - the language each creative is written in, as read from the ad itself. The filter only appears once your saved ads span more than one language. Ads still being read carry no language yet, so they are never filed under one we have not confirmed. - **Search** across everything Rival Ads has read on your saved ads - copy, transcripts, on-screen text and the intel read - with `-term` exclusions ([syntax](/docs/search)). Downloads follow the search too, and the **Views** button saves the current folder + run time + search combination as a named view for the workspace. Ads are grouped by competitor. This preserves source context while a folder can hold examples from many competitors. ### Manage folders Select **New folder** when none exist or **Manage folders** when folders are available. Any workspace member can create and rename shared folders. Deleting a folder does not delete its ads. The ads return to **Unsorted** and remain in the workspace Library. Useful agency folders might be “Hooks”, “Offers”, “Testimonials” and “Client Q3 brief”. Use a client-specific folder when exports should contain only that client’s selected research. ### Download saved ads Each competitor group provides: - **Artwork** — a downloadable bundle of the saved creative files in the active folder filter. - **Artwork + copy sheet** — artwork plus CSV and Markdown files containing available copy, hooks, angles, personas, calls to action, dates and source links. - **PDF** - everything currently on screen as one branded document, across every competitor in the view. Use it when you want to send a client the folder itself rather than a set of files. Downloads reflect the selected folder or Unsorted filter, and every other active filter (run time, language, search). Workspace branding is used in the bundle name and copy sheet. #### What the PDF contains The PDF is folder-shaped rather than per-competitor, so one document can carry several brands plus anything you saved from Inspiration, which the per-competitor ZIP cannot. Each ad prints its creative, the hook we read from it, the advertiser's own copy, the call to action and destination, how long it has run, and the published reach or impression range where the platform reports one. Team notes print with their author and date, the same way they appear on a shared report. Any filters you had on are printed on the document, so the selection explains itself to whoever opens it. Large selections are capped so the document stays a reasonable length. The cap is shared across the advertisers in the folder rather than filling up from the top, so no competitor is missing from it, and the document says how many ads it is showing of how many matched rather than quietly leaving the rest out. Copy-sheet headings and category labels use the monitor’s client-facing language: **Report language**, then project **Client language**, then workspace **Language**. Original ad copy, hooks, transcripts and on-screen text remain in the advertiser’s language. See [Languages & translated content](/docs/languages). ### Access and visibility The Library does not bypass project permissions. If a Member loses access to a monitor, that monitor’s saved ads no longer appear for them. Owners and admins see saved ads across the workspace. Follow [Build a swipe file](/docs/organize-library) for a complete workflow. See [Team, roles & access](/docs/team) for visibility rules. --- ## Inspiration & rising advertisers *How the opt-in Inspiration pool works, what your workspace shares and gets, and how the Rising tab ranks advertisers who recently started launching ads.* Source: https://www.rivalads.io/docs/inspiration · Markdown: https://www.rivalads.io/docs/inspiration.md **Inspiration** is an opt-in pool of ads shared between participating workspaces. Opt in, and the ads your monitors already collect from public ad libraries join the pool. In exchange, your whole team can browse, filter and save everything every other participating workspace has collected, and see which of those advertisers are launching the most right now. ### The swap - **What you share:** only the ad content your monitors already collect from public ad libraries - creatives, ad copy, advertiser names and run dates. It was public the day it ran. - **What you get:** every ad contributed by every participating workspace, searchable and filterable by channel, format, angle and visual style, plus the aggregate views (Trends, Hooks, Words, Advertisers and Rising). - **What stays private:** your workspace, your team and your competitor list. Ads in the pool never say who contributed them, so nobody learns who you track, and you never learn who tracks whom. Inspiration is free on every plan and uses no monitor slots. The Owner turns it on from the Inspiration page or under **Settings**, and can turn it off at any time. Leaving the pool takes effect immediately: your ads leave, your access ends, and any snapshots you saved into **Library** stay yours. ### What the pool is and is not The pool reflects what participating workspaces track. It is not an index of every advertiser on the internet, and it makes no claim about sales or revenue. An advertiser nobody in the pool follows cannot appear, and a creative only appears once it has a stored image, screenshot or video. The same ad tracked by several workspaces shows once. Rival Ads picks the copy with the best evidence (a playable video over a poster, downloadable media over a screenshot, a completed intelligence read over none). ### The Rising tab **Rising** answers one question: which advertisers started launching ads recently, and whose ads are surviving, among the channels and markets your workspace already cares about. #### How it is ranked The ranking is arithmetic over stored ads. No model judges it, and nothing is estimated. 1. **Launches.** An advertiser's creatives in the pool whose source start date falls inside the window (the last 14 or 30 days). Only launches the source dated count, so a brand somebody just started tracking does not jump the list on its back catalogue. 2. **Survival.** Of the launches old enough to have run 7 days, the share that ran for at least 7 days, whether still live or since stopped. Google ads use the archive's observed dates (first shown to last shown), so a Google row says "observed past 7 days" rather than "ran past 7 days". An ad with no usable dates never counts either way. 3. **Score.** Launches x (1 + survival). Volume sets the scale and survival can at most double it. An advertiser needs at least 2 launches in the window to appear. Each row carries the sentence that earned its place, for example "12 new ads in 30 days · 9 of 10 ran past 7 days", plus how many ads the advertiser launched in the equal window before this one, whether it is new in the pool, and the markets participating workspaces observed the launches in. The same definition is one click away on the page under **How this is ranked**. #### Scope The list defaults to your workspace's own channels and the countries your monitors watch. Use the chips to widen to **All channels** or **Anywhere**, or narrow to one channel or market, and switch the window between the last 14 and 30 days. The line under the controls always states the scope you are looking at. Filters live in the address bar, so a filtered view is a link you can send a teammate. A workspace with no monitors yet sees every channel and market. #### Looking at the evidence **Show ads** under any advertiser loads its newest launches from the window (up to 24) as ordinary pool cards, and says how many of the window's launches it is showing. Save any of them into **Library**, open the details, or use **View at source** to open the advertiser in the platform's own public ad library. #### Track an advertiser **Track** opens the same add-competitor flow as Research, prefilled with what the source gives us: the Meta page, the Google domain, the TikTok advertiser or the LinkedIn advertiser name. Because it is the same flow, the rules are the same: - Your plan's monitor limit applies. If the workspace is at its limit, the flow says so and nothing is created. - Meta pages are resolved from the source's own page id. - TikTok and LinkedIn advertisers are confirmed against the source before a monitor is created, so a name that cannot be found never spends a slot. - LinkedIn monitors still require an active LinkedIn connection (see [Connect LinkedIn](/docs/connect-linkedin)). Advertisers your workspace already monitors are marked **Already tracking**. Only Owners and Admins can track; members see the ranking and the evidence without the button. When the source never resolved a trackable identity for a row, the row offers **Find in Research** instead. ### Availability Inspiration and Rising are dashboard features. They are not part of the public API or MCP. Related: [Library](/docs/library), [Add a competitor](/docs/add-competitor), [Supported channels](/docs/channels). --- ## Alerts & weekly digest *Understand instant new-ad alerts, alert rules for proven creatives and launch bursts, the weekly digest, unread badges and recipient access rules.* Source: https://www.rivalads.io/docs/alerts · Markdown: https://www.rivalads.io/docs/alerts.md Rival Ads uses two workspace email types for competitive updates. Owners and admins review them on **Alerts**. ### Instant new-ad alerts **Instant new-ad alerts** are sent when a source check discovers ads that were not present before. The message includes the new creative and goes to everyone who can access that monitor. Important behavior: - The first check for a new monitor never alerts because it establishes the starting set. - Alerts can be enabled or disabled separately for each monitor under **Instant alerts per monitor**. - The same setting is available when you **Edit** a monitor. - A member without access to the monitor does not receive its alert. ### Alert rules: proven creatives, pulled winners, launch bursts Beyond "new ad", three **alert rules** cover the moves between launches. Owners and admins configure them on **Alerts**; each can be switched off independently. - **Proven creative** - fires once when an ad is still running after your chosen mark (7, 15, 30 or 90 days; default 30). A competitor paying to run the same creative for a month is the strongest public signal it works. - **Winner pulled** - fires when an ad that ran past that same mark stops. A proven creative retiring usually means the offer, the season or the performance changed. - **Launch burst** - when a chosen number of ads (3, 5 or 10; default 5) go live in one sweep, the new-ad alert is reframed as a burst - one message, never a second ping. A burst of relaunched creatives with nothing new in it gets its own message. Rules to know: - Every rule is a fact read from the ad library - a run length, a stop, a count. Rival Ads never predicts fatigue or decline. - Each crossing fires exactly once per ad. Turning a rule on later never floods you with the back catalogue: ads already past the mark are noted silently, and only future crossings alert. - Rules follow each monitor's alert switch, and reach email plus every connected destination below. - A monitor whose source check failed never produces a "stopped" alert - a failed read proves nothing. ### Alerts in Slack, Teams, Discord and webhooks Instant new-ad alerts can also be delivered outside email. Owners and admins connect destinations on **Alerts**. - **Slack** — press **Add to Slack**. Slack's own screen asks which channel to post in, and Rival Ads receives an incoming webhook scoped to that one channel. Rival Ads cannot read messages, list channels or see members. See the [Slack integration page](/slack). - **Any webhook URL** — paste the HTTPS URL that Microsoft Teams, Discord, n8n, Zapier or your own service gives you. The payload includes both `text` and `content` fields so Teams and Discord render it as-is. Every new-ad alert goes to every connected destination. Which competitors alert is still controlled per monitor above. **Access works differently here.** Rival Ads scopes access per monitor, but a Slack channel's audience is its members — everyone in a connected channel sees every alert posted there, regardless of their Rival Ads access. Choose the channel accordingly. A workspace can connect up to 10 destinations. A destination that keeps refusing delivery is paused until it is reconnected; that is a notification problem and never counts as a sync error. Disconnect on **Alerts**, or remove the app in Slack under **Settings & administration → Manage apps**. Connecting a destination adds to email delivery; it does not replace alert emails or the weekly digest. ### Weekly digest The **Weekly digest** is sent every Monday at 07:00 UTC. It summarizes Started, Stopped and Continued counts and the latest strategy information for monitors the recipient can see. A competitor whose only move was an ad crossing your proven-creative mark also earns its section - the crossing is news even when nothing launched. So does a competitor whose landing page changed its price that week: the section lists the old and new price with the date the page began showing it, once the change is confirmed (see [Landing pages & offer timeline](/docs/landing-pages)). The digest is always on. There is no per-user digest switch. A recipient’s project and monitor access determines which competitors are included. Each recipient’s personal **Language** controls their alert and digest wording. A recipient using **Workspace default** follows the current workspace **Language**, so one send can reach teammates using different supported languages. See [Languages & translated content](/docs/languages). ### Unread indicators in the product When new ads have not been reviewed: - The monitor can rise in the list with a “new” count. - Individual ads display **New**. - Visiting the monitor advances your own read position; it does not mark the ads as read for teammates. ### Agency scenario When a monitor’s instant alerts are enabled, an agency admin can receive its alert. A client Member with **Whole project** access to Client A receives only Client A alerts and digest entries. Another client’s new ads do not appear in that member’s dashboard, Library or email. ### If an expected email does not arrive 1. Confirm the user has accepted the workspace invitation. 2. Confirm they can open the monitor. 3. Open **Alerts** and confirm instant alerts are enabled for that monitor. 4. Remember that a first sync does not alert. 5. Check spam and email filtering. For access changes, see [Manage client access](/docs/manage-access). For source problems, see [Troubleshoot a sync](/docs/troubleshooting). --- ## Team, roles & access *Invite teammates or clients, choose roles and scope members to projects or individual monitors.* Source: https://www.rivalads.io/docs/team · Markdown: https://www.rivalads.io/docs/team.md Every plan includes unlimited team members. Owners and admins manage the team from **Team**; members see only the work they have been granted. ### Roles | Role | Access | | --- | --- | | Owner | Full workspace control, including **Settings**, branding, integrations, billing and the subscription. | | Admin | All monitors, projects, the Library, Alerts and Team management. Cannot manage owner-only Settings. | | Member | Only granted projects or monitors, plus the related ads, reports, saved ads, alerts and digest entries. | Use Member for a client or a teammate who should not see the whole workspace. ### Invite a teammate 1. Open **Team**. 2. Select **Invite teammate**. 3. Enter **Email**. 4. Choose **Member — sees only assigned monitors** or **Admin — full workspace access**. 5. Select **Send invitation**. The invitation remains under **Pending invitations** until accepted or cancelled. Invitations and other workspace emails use the workspace’s customer-facing brand. ### Access levels Select **Access** beside a member to open the full editor: - **All projects — current & future** gives the member every current project and automatically includes new projects. - **Whole project** gives every current and future monitor in one project. - **Specific monitors** lets you choose individual monitors. - **No access** grants nothing in that project. - **Automatically add future monitors in this project** extends a specific-monitor grant to monitors added later. Owners and admins always see every project, so these controls apply to members. ### Quick assignment On a monitor, **Assign** is a fast way to grant or remove direct access for individual members. Use **Team → Access** for whole-project, future-monitor or all-project rules. ### What access controls The same rule controls monitor visibility, ad activity, reporting, the workspace Library, instant new-ad alerts and the weekly digest. A member scoped to Client A should not see Client B’s monitor or receive Client B’s email content. For a complete client setup scenario, follow [Manage client access](/docs/manage-access). For project behavior, see [Monitors & projects](/docs/monitors). --- ## Workspace & profile settings *Manage personal details, language, workspace identity and timezone, and understand which settings are owner-only.* Source: https://www.rivalads.io/docs/workspace-settings · Markdown: https://www.rivalads.io/docs/workspace-settings.md Personal account settings and workspace settings have different owners. All users can manage their own profile; only the workspace Owner can change shared workspace settings. ### Personal Profile Open the user menu and select **Profile**. The page includes: - **Name**. - **Change password**. - **Language** for your dashboard and the emails you receive. Choosing **Workspace default** makes your personal language follow the current workspace. Changing a password signs out other sessions. The workspace Owner also sees personal profile controls inside **Settings → Profile**. ### Owner-only Settings Only the Owner can open **Settings**. Its tabs are: - **Profile** — personal details plus Workspace name, Timezone and Language. - **Branding** — whitelabel identity and custom domain. - **Integrations** — the workspace LinkedIn connection. - **Billing** — plan usage, payment, invoices and AppSumo license details. Admins and Members use the separate **Profile** page for their own account. ### Workspace name, timezone and language Under **Settings → Profile**, the **Workspace** card controls: - **Workspace name** — the internal workspace label and switcher name. - **Timezone** — the timezone used to present dates, including strategy reads. - **Language** — the default for new members, workspace emails and client-facing reports. English, Afrikaans, French, German, Polish, Spanish, Brazilian Portuguese, Italian, Dutch, Japanese, Turkish and Indonesian are currently supported. A Member’s personal language overrides the workspace language for their own dashboard and received emails. ### Client-facing language priority You can choose language at three levels: 1. **Report language** on a **Public report link**. 2. **Client language** on the project. 3. Workspace **Language**. The more specific choice wins. For example, an English workspace can set Client A’s project to Afrikaans, while one public report link can still be pinned to English. Changing an effective client-facing language can prepare a matching strategy read automatically. It does not rewrite historical reads. See [Languages & translated content](/docs/languages) for the full inheritance, regeneration and source-copy rules. ### Multiple workspaces One account can belong to more than one workspace. Use **Switch workspace** in the sidebar. Each workspace has separate monitors, projects, access rules, branding, language and billing. For branding, see [Whitelabel & custom domains](/docs/whitelabel). For project structure, see [Monitors & projects](/docs/monitors). --- ## Languages & translated content *Choose personal, workspace and client-facing languages, understand inheritance, and know exactly when strategy reads are prepared again.* Source: https://www.rivalads.io/docs/languages · Markdown: https://www.rivalads.io/docs/languages.md Rival Ads supports English, Afrikaans, French (Français), German (Deutsch), Polish (Polski), Spanish (Español), Brazilian Portuguese (**Português (Brasil)**), Italian (Italiano), Dutch (Nederlands), Japanese (日本語), Turkish (Türkçe), Indonesian (Bahasa Indonesia), Czech (Čeština) and Slovak (Slovenčina). Language is chosen separately for the person using the product and for the client-facing material produced by a monitor. This lets an English-speaking agency operate the workspace while delivering an Afrikaans report to a client. ### The three language levels | Level | Where to choose it | What it controls | | --- | --- | --- | | **Personal language** | User menu → **Profile** → **Language** | Your signed-in dashboard and the emails you receive. | | **Workspace language** | **Settings → Profile** → **Workspace** → **Language** | The default for people who follow the workspace setting, future workspace emails and client-facing material that has no more specific choice. | | **Client-facing language** | A project’s **Client language** and a monitor’s **Report language** | Strategy-read prose, public reports, public/PDF report labels, and the labels in client copy sheets. | Only the Owner can change workspace **Language**. Owners and Admins can change **Client language** and **Report language**. Every user can choose their own personal **Language**. ### Language priority Client-facing content uses this priority: **Report language → Client language → Language** The first explicit choice wins: 1. **Report language** on the monitor’s **Public report link**. 2. **Client language** on the monitor’s project. 3. Workspace **Language**. **Inherit (Afrikaans)** or **Inherit (English)** shows the language the report currently inherits from the project or workspace. **Workspace default** means the project currently follows the workspace. The language shown in parentheses is the current inherited result, not another setting. A user’s personal language never changes a client report. For example, an English-speaking strategist and an Afrikaans-speaking client can open the same public link and both see the client-facing language selected for that monitor. ### Choose your Personal language 1. Open the user menu in the dashboard. 2. Select **Profile**. 3. Find the **Language** card. 4. Choose the displayed workspace default, such as **Workspace default (Afrikaans)**, to follow the current workspace, or select any supported language explicitly. The dashboard refreshes in the selected language. Future alerts, digests and account messages sent to you use the same choice where a translation is available. An explicit personal choice belongs to your account and remains active when you switch workspaces. Choose **Workspace default** if you want your language to follow each active workspace instead. ### Choose the Workspace language The Owner can change the shared default: 1. Open **Settings**. 2. Stay on **Profile**. 3. Find the **Workspace** card. 4. Under **Language**, choose a supported language. The new default applies immediately to members using **Workspace default** and to future translated emails. A member with an explicit personal choice keeps that choice, so the Owner’s own dashboard may remain unchanged after saving. A newly created workspace can adopt a supported browser language during setup. The Owner can always replace it under **Settings → Profile**. ### Choose a project Client language Use a project choice when every monitor for one client should use the same language: 1. Open **Monitors**. 2. Select **New project**, or select the pencil action on an existing project. 3. Find **Client language**. 4. Choose **Workspace default** or a supported language. 5. Create the project or save the change. The choice applies to monitors in that project unless an individual monitor has a more specific **Report language**. ### Choose a monitor Report language Use a report choice when one monitor must differ from its project: 1. Open the monitor. 2. Select **Reporting**. 3. Under **Share & export**, turn on **Public report link**. 4. Find **Report language**. 5. Choose the displayed **Inherit (language)** option, or select a supported language explicitly. Although the control sits with the public link, it is the monitor’s most specific client-facing language. It controls newly prepared strategy reads, the public report, report labels, and **Artwork + copy sheet** downloads for that monitor. Choose **Inherit** to remove the pin. The monitor then follows **Client language**, followed by workspace **Language**. Turning **Public report link** off disables public access but does not clear its saved **Report language**. Choose **Inherit** before turning the link off if the monitor should return to its project or workspace language. ### When a strategy read is prepared again Rival Ads prepares client-ready strategy prose in its final language; it does not translate an existing read in place. A matching read is prepared automatically when a saved setting changes the monitor’s effective client-facing language. This is when a language change regenerates the current-period strategy read. | Change | When a matching read is prepared | | --- | --- | | Personal **Language** | Never. It changes only that person’s product and email language. | | Workspace **Language** | For each monitor that inherits the workspace language and therefore changes effective language. | | Project **Client language** | For affected monitors whose **Report language** does not keep their effective language unchanged. | | **Report language** | For that monitor when the selected or inherited result changes. | | Moving a monitor | When the destination project gives it a different effective language. | | Selecting a different setting with the same result | No new read: the effective client-facing language does not change. | This also applies when a pin is cleared. For example, clearing an English **Report language** prepares an Afrikaans read if the project inherits Afrikaans. Moving a monitor between two English projects does not. When the effective language changes: 1. The setting is saved immediately. 2. A workspace with an active plan prepares or reuses a recent matching strategy read in the background. 3. **Previous reads are never rewritten**. Each one keeps the language in which it was originally prepared. 4. The public report waits for a completed read in the new language. Until then it shows **The first read is being prepared** instead of exposing the previous language. 5. Once the matching read completes, the public link shows the latest completed read in that language. The authenticated **Reporting** history remains available during this process. A PDF exports the completed read selected under **Previous reads**, including that read’s original language. Select the newly prepared read before exporting a PDF in the new language. Changing report language does not start another source check and does not re-read every individual ad. ### What is translated - Dashboard navigation, controls, help text and status messages. - Dates, numbers, country names and list formatting. - Invitations, verification and password messages, instant alerts, weekly digests and billing notifications. - Strategy-read prose, public-report controls and PDF report labels. - CSV and Markdown labels in **Artwork + copy sheet** downloads. - Creative-intelligence category labels such as Angle and Visual style. Emails use the recipient’s personal language first, then workspace **Language**. An invitation to someone who already has a Rival Ads account can therefore use that person’s language; a new invitee follows the inviting workspace. Previously sent emails do not change. Workspace-branded sign-in pages and invitation screens use the workspace **Language** before the visitor enters the dashboard. Once signed in, the user’s personal **Language** takes over. A public report always uses its client-facing language, regardless of the viewer’s account or browser language. ### What is never translated **Source ad copy is never translated.** Headlines, body copy, hooks, transcripts and on-screen text remain exactly as the advertiser published or spoke them. Names, URLs and other source evidence also remain unchanged. In a translated strategy read, quoted ad evidence stays in its original language while the surrounding explanation and recommendations use the client-facing language. Customer-written titles, descriptions and comments on the **Ideas** board also remain exactly as submitted. The board’s navigation, controls, status labels and messages follow your personal language. **What’s New** navigation and page headings are translated, while the release-note articles remain in English as Rival Ads editorial. Previously completed reads and previously downloaded PDFs are not rewritten. Creative intelligence is not regenerated when a dashboard or report language changes. The public marketing website and this documentation remain in English. Automated product and workspace messages support every product language, while scheduled onboarding tips are currently sent in English. ### Example: an agency with two client languages An agency keeps workspace **Language** set to English. It creates “Client A” with **Client language** set to Afrikaans and leaves “Client B” on **Workspace default**. - The agency team can keep personal **Language** set to English. - Client A’s unpinned monitors prepare Afrikaans strategy reads and copy-sheet labels. - Client B’s unpinned monitors prepare English strategy reads. - One Client A monitor can set **Report language** to English without changing the rest of the project. - Changing the agency strategist’s personal language does not prepare any client reads again. For report sharing, see [Share a report](/docs/share-reports). For workspace ownership, see [Workspace & profile settings](/docs/workspace-settings). --- ## Whitelabel & custom domains *Apply your agency brand to the product, emails, reports and exports, then serve it from a verified custom domain.* Source: https://www.rivalads.io/docs/whitelabel · Markdown: https://www.rivalads.io/docs/whitelabel.md Whitelabel lets an agency present Rival Ads as its own competitive-intelligence service. It is included with the Agency, Max and Ultra plans and AppSumo Tier 3, 4 and 5. Workspace owners manage it under **Settings → Branding**. ### Whitelabel branding The **Whitelabel branding** card includes: - **Brand name** for customer-facing product identity. - **Email sender name** for invitations, alerts and weekly digests. - **Support email** for replies and paused-workspace help. - **Logo** and **Logo size**. - **Favicon** for browser tabs and bookmarks. - **Sidebar / header color** and **Accent color**. - **Hide "Powered by Rival Ads" everywhere**. Select **Save branding** after changing text or colors. Logo and favicon uploads have their own controls. ### Where the brand appears The workspace brand covers the signed-in product, sign-in and onboarding, workspace emails, public reports, PDF reports, Library exports and browser identity. If a workspace is not entitled to whitelabel, its saved custom branding is not applied to those surfaces. Platform billing messages sent to the paying owner remain Rival Ads messages because they concern the owner’s subscription with Rival Ads. ### Add a custom domain Use a subdomain such as `intel.example.com`: 1. Open **Settings → Branding** and find **Custom domain**. 2. Enter the domain and select **Add domain**. 3. At your DNS provider, add the CNAME and TXT records shown on screen. 4. Return to Rival Ads and select **Verify domain**. 5. Wait for the **Verified** badge before sharing the domain. While ownership is unconfirmed, the card shows **Pending verification**. DNS changes often appear within minutes but can take longer depending on the provider. Encryption is prepared automatically after verification. ### Safe agency scenario An agency can use `intel.agency.example`, upload its logo, set its support address, and invite a client as a Member. The client signs in on that domain, sees only the granted project, receives agency-branded emails and opens agency-branded reports. The custom domain serves the product rather than Rival Ads marketing pages. Each workspace can have one custom domain, and one domain cannot be attached to multiple workspaces. For client permissions, see [Manage client access](/docs/manage-access). For plan eligibility, see [Billing & plans](/docs/billing). --- ## Billing & plans *Compare current monitor limits and schedules, understand the first free month, and manage Stripe or AppSumo billing.* Source: https://www.rivalads.io/docs/billing · Markdown: https://www.rivalads.io/docs/billing.md A plan belongs to a workspace, not to an individual seat. Every plan includes unlimited team members, projects and access controls, instant new-ad alerts, the weekly digest, strategy reads, PDF reports and public report links. ### Subscription plans All prices are USD. | Plan | Monitors | Ad fetching | Strategy reads | Monthly | Annual | | --- | --- | --- | --- | --- | --- | | Starter | 2 | Weekly | Monthly AI strategy reads; detected changes can advance the next read once 14 days have passed since the previous read | $29 | $290 | | Growth | 6 | Weekly | Monthly AI strategy reads; detected changes can advance the next read once 14 days have passed since the previous read | $49 | $490 | | Scale | 12 | Every 3 days | Weekly AI strategy reads | $79 | $790 | | Agency | 30 | Every 3 days | Weekly AI strategy reads | $99 | $990 | | Max | 75 | Every 3 days | Weekly AI strategy reads | $199 | $1990 | | Ultra | 150 | Every 3 days | Weekly AI strategy reads | $349 | $3490 | Annual billing costs ten months for twelve. Agency, Max and Ultra also include full whitelabel branding and a custom domain. Max and Ultra add a priority sync queue: its scheduled, manual and first fetches are queued ahead of the same kind of waiting work from other workspaces. It changes the order of the queue, not how often a monitor is fetched. A monitor is one competitor on one channel. Tracking Acme on Meta, Google and TikTok uses three monitor slots. ### First month free Each subscription plan starts with a 30-day free trial. A card is added at checkout, nothing is charged that day, and the first payment is due after the trial unless the subscription is cancelled first. There is no permanent free tier. ### Manage billing The workspace owner opens **Settings → Billing**. From there: - **Change plan** opens the plan picker. - **Manage payment & invoices** opens the billing portal for cards, invoices, billing details and cancellation. - **Keep my subscription** restores a subscription that is set to cancel at period end. An upgrade applies immediately with prorated billing. A downgrade applies at the end of the current billing period. If the new plan has fewer monitor slots than the workspace is using, existing history remains but another monitor cannot be added until usage is within the allowance. If a payment is past due, update the payment method from the billing portal to keep tracking active. ### AppSumo lifetime plans AppSumo licenses are one-time purchases with no trial or renewal: | AppSumo license | One-time price | Included plan allowances | | --- | --- | --- | | Tier 1 | $49 | Growth | | Tier 2 | $99 | Scale | | Tier 3 | $199 | Agency | | Tier 4 | $399 | Max | | Tier 5 | $649 | Ultra | Tier 3 inherits Agency’s whitelabel and custom-domain features; Tier 4 and Tier 5 inherit Max’s and Ultra’s, plus the priority sync queue. Use **Manage on AppSumo** for upgrades or downgrades. Changes made in AppSumo are reflected in the workspace automatically. A refunded or deactivated license pauses access until it is reactivated or the owner chooses a subscription plan. ### Earn extra monitor slots Every workspace with an active plan can add monitor slots on top of its plan through **Earn Extras** (bottom of the sidebar, owners only). Each reward can be earned once per workspace, a person checks every claim (usually within a day), and the slots stay for as long as the workspace has a plan. For **every AppSumo tier**, start with **Step 1: your AppSumo review**. Submit your AppSumo username and wait for our team to approve the review. Approval adds the review's +2 slots and unlocks **Step 2: all other rewards**. A submitted or declined review does not unlock them. Stripe workspaces can claim other rewards directly. Previously earned slots are not removed by this requirement. | Reward | Extra slots | | --- | --- | | Review Rival Ads on AppSumo (AppSumo customers) | +2 | | Google review (coming soon: our Google Business profile is awaiting Google's verification) | +2 | | G2 review | +2 | | Blog post or page on your website, with a link back to rivalads.io | DataForSEO Domain Rank ÷ 5, rounded down (minimum +1, maximum +20) | | Post on X | +1 per 1,000 followers, up to +10 | | Post in a relevant subreddit | +4 | | Video review or tutorial (YouTube, TikTok or similar) | +10 | What makes a claim pass: - **Blog post or page**: link to `https://www.rivalads.io` as a normal hyperlink in the article body, not a redirect or a JavaScript button. We recheck the link weekly, so keep the page live. - **Post on X**: the post must be public and include a link to `https://www.rivalads.io`. The card opens X with a draft you can edit; we verify the post and your follower count on your profile. - **Reddit**: r/PPC, r/FacebookAds, r/marketing, r/SaaS and r/ecommerce are good homes. Follow each subreddit's self-promotion rules and write a genuine "how I use it" post; a post removed by moderators cannot be verified. - **Video**: the video must be public, and its title or description should name Rival Ads and link to `https://www.rivalads.io`. To claim, open **Earn Extras**, paste the link to your review, post or video, and submit. The Billing page lists the extra slots once a claim is verified. If a claim cannot be verified you can fix the link and resubmit. For backlinks, we check your site's **DataForSEO Domain Rank on a 0–100 scale** when the claim is approved. A rank of 49 earns 9 slots; a rank below 5 still earns 1. DataForSEO uses its own ranking method, so this score is not interchangeable with Ahrefs DR. Once approved, the grant stays fixed even if the site's rank changes. Existing +5 backlink awards keep their original grant. ### Who can see billing Billing is the owner’s relationship with Rival Ads. Admins and members do not see **Settings → Billing** or the plan selection screen for a paused workspace; they are directed to contact the workspace owner. For current public plan cards, see [pricing](/pricing). For monitor counting, see [Monitors & projects](/docs/monitors). --- ## Add a competitor *Complete the Track a competitor flow with accurate examples for websites, locations and all four supported channels.* Source: https://www.rivalads.io/docs/add-competitor · Markdown: https://www.rivalads.io/docs/add-competitor.md Owners and admins can create monitors from **Monitors**. Each selected channel creates one monitor and uses one plan slot. ### Before you begin Decide: - Which project should contain the competitor. - Which countries matter to the research. - Which channels the competitor uses. - The correct Facebook page, domain or advertiser name if automatic detection cannot find it. For LinkedIn, the workspace Owner should first complete [Connect LinkedIn](/docs/connect-linkedin). ### Step 1: open Track a competitor 1. Open **Monitors**. 2. Select **Add competitor**. 3. In **Track a competitor**, enter **Competitor website**. 4. Select **Find their ads**. A root website such as `example.com` is the best starting point. A Facebook or Instagram URL also works when you only have a social profile. Rival Ads checks the public homepage for likely Meta and Google details. If the site cannot be read, the next screen still lets you enter every channel manually. #### Or search for the advertiser Select **Search brands** in Track a competitor, or open **Research** in the sidebar, and type a brand or keyword. Every channel's ad library is searched at once. Meta's name search only shows the Pages it ranks highest, so a smaller Page with a common name may not appear. Paste one of these instead and the search goes straight to that advertiser: - A Facebook Page link, including `facebook.com/profile.php?id=…` links - A Facebook Page ID - A Meta Ad Library link to the Page, or to one of its ads - An Instagram profile link Links and Page IDs search Meta only. Search the brand name to check Google, TikTok and LinkedIn too. ### Step 2: confirm the competitor and project Review: - **Competitor name** — the name shown beside the channel icon. - **Project** — the client or brand grouping for access and reporting. Use the same competitor name across channels. For example, “Acme” on Meta and “Acme” on Google creates two clear monitors with different icons. ### Step 3: choose Locations to monitor Choose up to five countries. The first pill is marked **Default** and becomes the starting **Location** filter on the monitor. Select another location pill to make it the default. Remove a secondary location with its remove action. TikTok accepts only countries covered by its public Commercial Content Library; the form warns when another location is selected. Example: an agency serving a UK client could use United Kingdom as default and add United States, Ireland and Canada for comparison. ### Step 4: choose Channels to track Under **Channels to track**, select one or more: #### Meta · Facebook & Instagram Enter a Facebook page URL or Meta Ad Library URL. Examples: - `https://www.facebook.com/examplebrand` - A Meta Ad Library URL opened on the correct advertiser If only an Instagram handle was found, check the suggested Facebook page before starting. #### Google · Search, Display & YouTube Enter the root website domain, for example `example.com`. Do not include a product path or tracking parameters. #### TikTok · Commercial Content Library Enter the advertiser name as it appears publicly, for example `Gymshark`. #### LinkedIn · Ad Library Enter the company or advertiser name, for example `Notion`. The form reminds you that syncing uses **Settings → Integrations**. ### Step 5: check plan usage and start The dialog shows how many monitor slots the selection uses. If the selection exceeds the remaining allowance, choose fewer channels or follow **Upgrade for more**. Select **Start tracking** for one channel or **Start tracking all** for several. Each successful monitor appears under its project and begins fetching. First results typically arrive within a minute or two. ### Verify the first results 1. Open each new monitor. 2. Confirm the advertiser and **Location** are correct. 3. Use **Open in source library** on a result to compare it with the public source. 4. If a match is wrong, select **Edit** and correct the source before building history. The first check creates a baseline and does not send **Instant new-ad alerts**. Later checks can identify Started, Stopped and Continued ads. For channel limitations, see [Supported channels](/docs/channels). If results are empty or incorrect, follow [Troubleshoot a sync](/docs/troubleshooting). --- ## Manage client access *Create a client project, invite a Member and choose whole-project, monitor-specific or future access.* Source: https://www.rivalads.io/docs/manage-access · Markdown: https://www.rivalads.io/docs/manage-access.md This guide sets up a client who can see one client project and nothing else. ### 1. Create the client project 1. Open **Monitors**. 2. Select **New project**. 3. Enter the client under **Project name**. 4. Choose **Client language** or leave **Workspace default**. 5. Select **Create project**. When adding competitors for the client, choose this project in **Track a competitor**. To move an existing monitor, open it, select **Edit**, change **Project**, and select **Save changes**. ### 2. Invite the client as a Member 1. Open **Team**. 2. Select **Invite teammate**. 3. Enter the client’s email. 4. Choose **Member — sees only assigned monitors**. 5. Select **Send invitation**. Do not choose Admin for a scoped client: admins see every project and monitor. ### 3. Grant the right level After the client appears under **Members**, select **Access**: - Choose **Whole project** when the client should see every current and future monitor in their project. - Choose **Specific monitors** when they should see only selected competitors. - With **Specific monitors**, enable **Automatically add future monitors in this project** when future additions should be shared automatically. - Leave unrelated projects at **No access**. - Select **Save access**. **All projects — current & future** is designed for an internal Member who needs everything without admin controls. Do not use it for a client who should be isolated. ### 4. Verify the result The access summary should list the expected project or monitor count. For important client isolation, use a separate Member account to confirm: - Only the client’s monitors appear under **Monitors**. - Only saved ads from those monitors appear in **Library**. - The client can open **Ads** and **Reporting**. - Alerts and the weekly digest contain only allowed monitors. - **Team**, **Alerts** and owner-only **Settings** are not available to the Member. ### Common scenarios #### Client sees every competitor for their brand Use **Whole project**. New monitors added to the project are included automatically. #### Freelancer sees two competitors only Use **Specific monitors** and leave **Automatically add future monitors in this project** off. #### Internal analyst sees everything but cannot manage the workspace Invite as Member and enable **All projects — current & future**. #### Quick one-monitor grant Open the monitor and select **Assign**. This is useful for a single direct grant; use **Team → Access** for project or future rules. For the role model, see [Team, roles & access](/docs/team). For how moving a monitor affects visibility, see [Monitors & projects](/docs/monitors). --- ## Share a report *Export a selected strategy read as a PDF or publish the latest read with a protected, revocable public report link.* Source: https://www.rivalads.io/docs/share-reports · Markdown: https://www.rivalads.io/docs/share-reports.md Owners and admins share strategy reads from a monitor’s **Reporting** tab. A PDF is a fixed export of the selected read; a public link always shows the latest completed read. ### Before sharing 1. Open the monitor. 2. Select **Reporting**. 3. Confirm an **AI strategy read** is complete. 4. Under **Previous reads**, select the period you want to review. 5. Read the report and check the supporting ads. **Download PDF report** remains unavailable until a completed read exists. A new public link can be enabled earlier, but its visitor sees “The first read is being prepared” until the first read completes. ### Download a PDF 1. Under **Share & export**, select **Download PDF report**. 2. Save the generated file. 3. Share it like any other attachment. The PDF exports the currently selected read, not necessarily the newest one. This is useful for a monthly client meeting that needs a stable historical snapshot. ### Enable a Public report link 1. Turn on **Public report link**. 2. Select **Copy** beside the generated URL. 3. Open the copied link in a private browser window to verify the visitor experience. 4. Send the URL to the intended recipients. Anyone with the URL can view the latest read without an account, so treat it as a shareable document. ### Protect the link with a password 1. Enable **Protect this link**. 2. Enter at least four characters under **Password (optional)** or **Password (set)**. 3. Select **Set password** or **Change**. 4. Send the password separately from the URL. Use **Remove** to remove protection. A viewer who has already unlocked the report may remain unlocked for that link, so generate a new link when access must be revoked fully. ### Choose Report language Use **Report language**: - **Inherit** follows the project’s **Client language**, then the workspace Language. - Choosing a supported language pins this public report link to that language. Changing the client-facing language can require a newly prepared strategy read. The public page shows a preparation state until a matching read is ready rather than displaying a report in the wrong language. Historical reads keep their original language, and a PDF follows the read selected under **Previous reads**. The report choice also controls translated labels in **Artwork + copy sheet** downloads for this monitor. See [Languages & translated content](/docs/languages) for every trigger and non-trigger. ### Revoke an old URL Select **Generate a new link (revokes the old one)**. Copy and test the replacement URL. The former URL and its prior unlock state stop working. Turning **Public report link** off disables public viewing without deleting monitor data. It does not clear the saved **Report language**. Choose **Inherit** before turning the link off if the monitor should return to its project or workspace language. ### Branding PDFs and public pages use workspace branding. On eligible workspaces, links use the verified custom domain and can omit Rival Ads identity. See [Whitelabel & custom domains](/docs/whitelabel). For report content and schedules, see [Strategy reads & reporting](/docs/ai-analysis). --- ## Build a swipe file *Save useful competitor ads, organize shared folders and export artwork with copy for a creative brief.* Source: https://www.rivalads.io/docs/organize-library · Markdown: https://www.rivalads.io/docs/organize-library.md This workflow turns live competitor research into a reusable team or client brief. ### 1. Decide on a folder structure Create folders around the decision your team needs to make, not just the source. Examples: - Hooks - Offers - Testimonials - Product demos - Client A — Q3 brief Open **Library**, then select **New folder**. If folders already exist, select **Manage folders**, enter **New folder name**, and select **Add**. ### 2. Find useful ads Open a monitor and select **Ads**: 1. Choose **Week** or **Month**. 2. Use **Gallery** for visual scanning. 3. Filter by **Status**, **Ad type** or **Angle**. 4. Open **Intelligence** when you need the hook, transcript or on-screen text. A useful research set usually mixes new tests with long-running examples rather than assuming every Started ad is important. ### 3. Save and sort Select **Save** on an ad. Choose the destination folder or create a new one with **Create folder and save**. When an ad is already saved, select **Saved** to move it between folders or **Remove from library**. The Library is shared. A teammate sees the change immediately if they also have permission to see the source monitor. ### 4. Review the collection Open **Library** and choose: - A folder to focus the view. - **All ads** to see the complete swipe file. - **Unsorted** to find saved ads that still need a home. Ads remain grouped by competitor inside the chosen filter, making it easier to preserve context. ### 5. Export a brief For the relevant competitor group: - Select **Artwork** for creative files only. - Select **Artwork + copy sheet** for creative files plus CSV and Markdown reference sheets. The copy sheet contains available ad copy, hook, angle, persona, call to action, dates and source links. Use the CSV for analysis or the Markdown file as a starting point for a written brief. Its headings and category labels use the monitor’s client-facing language. Verbatim competitor evidence stays in its original language. ### Folder cleanup Use **Manage folders** to rename a shared folder. Deleting a folder returns its ads to **Unsorted**; it does not remove them from the Library. For the complete feature behavior, see [Library](/docs/library). For individual intelligence fields, see [Creative intelligence](/docs/creative-intelligence). --- ## Connect LinkedIn *Connect, verify, renew or disconnect the single LinkedIn member account used by all workspace LinkedIn monitors.* Source: https://www.rivalads.io/docs/connect-linkedin · Markdown: https://www.rivalads.io/docs/connect-linkedin.md LinkedIn’s public Ad Library requires an authenticated member request. The workspace uses one LinkedIn connection for all LinkedIn monitors, projects and clients. Only the workspace Owner can manage the connection because **Settings** is owner-only. ### Connect for the first time 1. Open **Settings**. 2. Select **Integrations**. 3. Find the LinkedIn card. 4. Select **Connect LinkedIn**. 5. Sign in to LinkedIn and approve the requested sign-in access. 6. Return to Rival Ads and confirm the card shows **Connected** and **Connected as** the expected member. Any normal LinkedIn member account works. The advertising data is public; this connection does not connect a LinkedIn Ads account or expose that member’s campaigns to Rival Ads. ### Add a LinkedIn monitor After connection: 1. Open **Monitors** and select **Add competitor**. 2. Complete **Competitor website** and the competitor details. 3. Under **Channels to track**, select **LinkedIn · Ad Library**. 4. Enter the public company or advertiser name. 5. Select **Start tracking**. Check the first results to confirm the intended company was matched, especially when several companies use similar names. ### Reconnect before expiry LinkedIn access lasts about 60 days. The integration card displays the expiry date and warns as it approaches. 1. Open **Settings → Integrations**. 2. Select **Reconnect**. 3. Complete LinkedIn sign-in again. 4. Confirm the new expiry date. If access has expired, LinkedIn monitors cannot fetch until reconnection. Other channels continue independently. ### Disconnect Select **Disconnect** to remove the workspace connection. Existing LinkedIn monitor history remains, but those monitors cannot fetch new data until another account is connected. ### Troubleshooting - If the card still shows expired, complete **Reconnect** again and make sure the return to Rival Ads finishes. - If results belong to the wrong advertiser, open the monitor and select **Edit** to correct **Advertiser name**. - If the connection is healthy but a source check fails, use [Troubleshoot a sync](/docs/troubleshooting). For the differences between sources, see [Supported channels](/docs/channels). --- ## Troubleshoot a sync *Resolve empty, incorrect, partial or failed monitor results without losing valid history.* Source: https://www.rivalads.io/docs/troubleshooting · Markdown: https://www.rivalads.io/docs/troubleshooting.md A monitor depends on a public advertising source. An empty result can mean the advertiser has no matching public ads, the location or advertiser is wrong, or the source was temporarily unavailable. ### Read the monitor status first Open the monitor and check: - **Sync error** for a failed source check. - **Partial source** when some available data could not be collected. - The “synced” time and next scheduled date. - The advertiser, page or domain shown near the monitor name. - The active **Location** filter. Use **Open in source library** on an existing ad to compare the public record. ### Request a fresh check Owners and admins can select **Sync now**. The button changes to **Syncing…** and reports the outcome when complete. Do not repeatedly start another check while one is in progress. If the interface says it will finish in the background, return later and refresh the page. ### No ads appear 1. Change **Location** or review all monitored locations. 2. Confirm the public source has current ads for that advertiser and region. 3. Confirm the source entered under **Edit** is correct. 4. Select **Sync now** once. 5. If the public source itself is empty, Rival Ads may correctly have no active ads to show. Remember that **Day**, **Week** or **Month** and active Status/Ad type/Angle filters can produce an empty view even when the monitor has other history. ### The wrong advertiser appears - Meta: replace a guessed page with the exact Facebook page or Meta Ad Library URL. - Google: use the root competitor domain rather than a product path. - TikTok: enter the advertiser name as it appears in the Commercial Content Library. - LinkedIn: enter the public company or advertiser name and verify the workspace connection under **Settings → Integrations**. Open **Edit** and correct the source. If Rival Ads identifies it as a genuinely different source, it shows **Replace this monitor source** and asks you to confirm clearing the old history. Cancel if you only intended to adjust the name or project. ### LinkedIn cannot sync Open **Settings → Integrations** as the workspace Owner: - Select **Connect LinkedIn** if no account is connected. - Select **Reconnect** if access is expiring or expired. - Confirm **Connected as** shows the expected member. Then return to the monitor and use **Sync now**. ### Alerts did not arrive A first sync never sends **Instant new-ad alerts**. For later checks, confirm the monitor’s alert setting and the recipient’s project or monitor access. See [Alerts & weekly digest](/docs/alerts). ### When to contact support [Contact support](/contact) when the correct public source has ads but repeated checks still show **Sync error**, when a partial source persists, or when the stored result clearly differs from the linked public record. Include the monitor name, channel, location and source URL; do not send account passwords. --- ## API & MCP *Connect scripts, internal tools and AI clients to Rival Ads with workspace-scoped API keys or OAuth.* Source: https://www.rivalads.io/docs/developer-api · Markdown: https://www.rivalads.io/docs/developer-api.md Rival Ads exposes the same competitor-monitoring capabilities through a versioned REST API and a remote MCP server. Both are thin interfaces over the dashboard’s domain services, so plan limits, source validation, tenant isolation and report rules stay identical everywhere. Access is fully self-serve: every plan starts with a 30-day free trial, and a workspace owner can create API keys in **Settings → Developer** without contacting anyone. Compatibility rules are published in [API versioning & deprecation](/docs/api-versioning). ### Choose a connection - Use the **REST API** for scripts, data pipelines, dashboards and backend integrations. It accepts workspace-scoped API keys. - Use **MCP with OAuth 2.1 and PKCE** for interactive AI clients. The client opens Rival Ads, the user signs in, reviews the requested read or write permissions and approves the connection. - Use **MCP with an API key** for headless agents, CI and server-to-server automations that cannot complete an interactive sign-in. The production REST base URL is `https://www.rivalads.io/api/v1`. The remote MCP endpoint is `https://www.rivalads.io/api/mcp`. ### Create an API key Only the workspace owner can manage developer credentials. 1. Open **Settings → Developer**. 2. Enter a descriptive name such as `Weekly client report`. 3. Choose **Read only** or **Read and write**. 4. Choose an expiry and select **Create API key**. 5. Copy the `ra_live_…` value immediately. Rival Ads stores only a hash and cannot show it again. Send the key as a Bearer token: ```bash curl https://www.rivalads.io/api/v1/monitors \ -H "Authorization: Bearer ra_live_your_key" ``` The `x-api-key` header is also accepted. Prefer `Authorization: Bearer` because it works for both REST and MCP. Never put a key in a URL, browser bundle or repository. Revoke a leaked or unused key from **Settings → Developer**. ### REST API resources The API covers the workspace, monitors, projects, ad movement, stored strategy reads, sync jobs, swipe-file folders and ads, and public report links. - `GET /workspace` - `GET|POST /monitors` - `GET|PATCH|DELETE /monitors/{monitorId}` - `GET /monitors/{monitorId}/ads` - `GET /monitors/{monitorId}/analyses` - `POST|GET /monitors/{monitorId}/sync` - `GET|POST /projects` - `GET|PATCH|DELETE /projects/{projectId}` - `GET|POST /library/folders` - `PATCH|DELETE /library/folders/{folderId}` - `GET /library/ads` - `PUT|DELETE /library/ads/{adId}` - `GET|PATCH /monitors/{monitorId}/report-share` List endpoints use cursor pagination. Pass `limit` from 1 to 100 and then send the returned `pagination.nextCursor` as `cursor`. Every success response wraps the result in `data`. Errors use a stable shape: ```json { "error": { "code": "not_found", "message": "Monitor not found" } } ``` The interactive, branded [API reference](/api/docs) is generated from the same Zod request contracts the routes validate. The raw OpenAPI 3.1 document is at [/api/openapi.json](/api/openapi.json). ### Ad copy in the API Ads carry the advertiser's own copy in `bodyText`, and the creative intelligence read alongside it: `hook`, `angle`, `persona`, `cta`, `visualStyle`, `language`, plus `ocrText` and `transcript`. `ocrText` matters most for Google. The Ads Transparency Center publishes search ads as a rendered picture rather than as text, so `bodyText` is empty on every Google ad and the headline and description are in `ocrText`, read off the creative. `transcript` carries speech from video creatives. Both are null until the ad's one-off intelligence read completes, which `status` reports as `READY`, `PENDING` or `FAILED`. ### Connect an AI client with OAuth Give a compatible MCP client only this server URL: ```text https://www.rivalads.io/api/mcp ``` The client discovers Rival Ads’ OAuth metadata, registers itself, uses an authorization code with PKCE and opens the consent screen. The available scopes are: - `mcp:read` — list workspaces and read monitors, projects, ad movement, analyses, library items, report-link state and sync state. - `mcp:write` — create, update or delete monitors, projects and library folders; save ads; request syncs; update report links. OAuth connections are approved by a workspace owner and can access workspaces that person owns. If that account owns more than one workspace, tools require `organizationId`; call `list_workspaces` first. Revoke a client from **Settings → Developer → OAuth connections**. ### Connect a headless MCP client For a server or CI job, configure the same MCP URL with a Bearer API key: ```json { "mcpServers": { "rival-ads": { "url": "https://www.rivalads.io/api/mcp", "headers": { "Authorization": "Bearer ra_live_your_key" } } } } ``` An API key is fixed to the workspace where it was created. A read-only key cannot call write tools. Use a short expiry and the narrowest access that works. ### MCP tool groups The server exposes small, task-oriented tools for: - listing available workspaces; - listing, reading, creating, editing and deleting monitors; - listing, creating, editing and deleting projects; - reading started, stopped and continuing ads; - reading stored strategy analyses without triggering a new model run; - listing and managing swipe-file folders and saved ads; - requesting and polling monitor sync jobs; - reading and updating revocable public report links. Tool responses include structured JSON, and destructive tools are marked as destructive in their MCP annotations. ### Security and tenant boundaries API keys are attached to exactly one workspace. OAuth requests re-check the signed-in user’s current owner memberships. Every resource lookup also filters by that resolved workspace, so knowing another tenant’s ID does not grant access. Keys and OAuth connections have independent read/write permissions, expiry and revocation. REST keys are limited to 120 requests per minute per credential. A `429` response means the key has exceeded that window. Sync requests enqueue work and return a job ID; poll the corresponding sync endpoint or MCP tool rather than holding the request open. ### Next steps - Read the public [API overview](/api). - Open the [API reference](/api/docs). - Follow the [MCP setup page](/mcp). - Contact [support](/contact) when a client needs a capability that is not yet exposed. --- ## API versioning & deprecation *How the Rival Ads REST API and MCP server are versioned, what counts as a breaking change, and how deprecations are announced.* Source: https://www.rivalads.io/docs/api-versioning · Markdown: https://www.rivalads.io/docs/api-versioning.md Integrations are only worth building against a surface that changes predictably. This page is the policy the Rival Ads [REST API and MCP server](/docs/developer-api) follow. ### How the API is versioned The REST API carries its version in the URL path: the current and only version is `v1`, at `https://www.rivalads.io/api/v1`. There is no version header to send. The remote MCP endpoint (`https://www.rivalads.io/api/mcp`) is not path-versioned; its tools follow the compatibility rules below. ### What can change without notice `v1` is stable, and changes within it are **additive only**. Any of the following may appear at any time and are not considered breaking: - new endpoints, and new optional request parameters; - new fields on response objects; - new values in enumerated fields (for example a new channel or a new sync status); - new MCP tools, and new optional tool inputs. Build clients that tolerate unknown fields and unknown enum values instead of rejecting them. ### What counts as breaking Removing or renaming an endpoint, field or MCP tool, changing a field's type or meaning, tightening validation on existing input, or changing an error code for an existing failure. Breaking changes never land inside `v1` — they ship as a new version path (`/api/v2`) while `v1` keeps working in parallel. ### How deprecations are announced When an endpoint, field or version is scheduled for removal: 1. The change is announced in the [changelog](/docs) and on the affected pages of the [API reference](/api/docs). 2. Affected responses carry a `Deprecation` header immediately, and a `Sunset` header naming the removal date once one is set. 3. At least **six months** pass between the announcement and the removal, and workspaces with developer credentials that recently used the affected surface are notified by email. Nothing has been deprecated so far; `v1` has no announced end of life. ### Questions If a change appears to break your integration inside `v1`, that is a bug — report it to [support@rivalads.io](mailto:support@rivalads.io) and include the request path and response. --- ## Frequently asked questions *Answers to common Rival Ads questions about sources, data, schedules, reports, access, emails, branding and billing.* Source: https://www.rivalads.io/docs/faq · Markdown: https://www.rivalads.io/docs/faq.md ### Monitoring and sources #### Will a competitor know I am monitoring them? No. Rival Ads reads public advertising transparency sources. It does not notify the advertiser or request access to their ad account. #### What counts as one monitor? One competitor on one channel. Tracking the same competitor on Meta and Google uses two monitor slots. #### Which channels are supported? **Meta · Facebook & Instagram**, **Google · Search, Display & YouTube**, **TikTok · Commercial Content Library** and **LinkedIn · Ad Library**. See [Supported channels](/docs/channels). #### How many locations can I monitor? Up to five per monitor. The first selected location is the default results filter. TikTok supports only locations covered by its public UK/EEA archive. #### How often are ads fetched? Starter and Growth fetch weekly. Scale, Agency and Max fetch every three days. A new monitor starts its first fetch immediately after creation. #### Can I fetch on demand? Owners and admins can select **Sync now** on a monitor. Members cannot start a source check. #### Why does an ad lack copy, artwork or a destination? Sources publish different fields, and individual records can be incomplete or restricted. Rival Ads shows available evidence and does not estimate missing values. #### Does Rival Ads show spend or conversions? No. Public libraries generally do not publish reliable campaign spend, conversions or return on ad spend for ordinary commercial ads. ### Ad activity and intelligence #### What do Started, Stopped and Continued mean? They describe an ad relative to the chosen Day, Week or Month period. Started began in the period, Stopped ended in the period, and Continued ran from before the period through it. #### When is a landing-page price change reported? Only after a stable read: the new price sits where the old one was and the old figure is gone, or the same new reading appears on two captures in a row. Until then it shows in the price history as **Not yet confirmed** and stays off the card and out of the weekly digest. See [Landing pages & offer timeline](/docs/landing-pages). #### Is a Continued ad a proven winner? It is evidence that the advertiser kept it live, not proof of profitability. Use duration as a research signal and avoid claiming performance that the source does not publish. #### What is the difference between Creative intelligence and an AI strategy read? **Creative intelligence** describes individual ads: hook, angle, persona, visual style, transcript and on-screen text. An **AI strategy read** summarizes what changed across the monitor on its plan cadence; Starter and Growth can bring the next read forward after a competitor starts or stops ads. #### Why is Creative intelligence still reading? New ads are read after they arrive. Hooks and angles usually appear a few minutes after a sync. Some media cannot be read fully, so not every field is guaranteed. ### Reports and sharing #### When are strategy reads prepared? Monthly on Starter and Growth; weekly on Scale, Agency and Max. **Reporting** shows the next date using the workspace timezone. #### Can I run a strategy read manually? No. Reads are prepared automatically on the plan schedule. #### What does Download PDF report export? The completed read currently selected under **Previous reads**. #### What does a Public report link show? The latest completed read. It requires no account and can be password-protected, disabled or replaced with a new URL. #### How do report languages work? **Report language** on the public link overrides the project’s **Client language**, which overrides workspace **Language**. English, Afrikaans, French, German, Polish, Spanish, Brazilian Portuguese, Italian, Dutch, Japanese, Turkish and Indonesian are supported. If that effective language changes, a matching strategy read is prepared automatically; historical reads keep their original language and the public link waits for the matching read. See [Languages & translated content](/docs/languages). #### Does changing my personal Language regenerate reports? No. Personal **Language** changes your own dashboard and future emails. Client-facing content follows **Report language → Client language → Language** instead. #### Does Rival Ads translate competitor ad copy? No. Source headlines, body copy, hooks, transcripts and on-screen text remain verbatim. The report explanation, recommendations, controls and labels use the selected language. ### Library #### Is the Library personal? No. It is shared by the workspace, but each user only sees saved ads from monitors they can access. #### What happens when I delete a folder? Its ads return to **Unsorted**. They are not removed from the Library. #### What is in Artwork + copy sheet? The saved creative files plus CSV and Markdown sheets with available copy, intelligence, dates and source links. ### Inspiration #### What does "rising" mean on the Rising tab? A defined score, not a judgement: the advertiser's launches in the pool during the last 14 or 30 days (source-dated only), times one plus the share that ran for at least 7 days, judged over the launches old enough to be judged. Google ads use the archive's observed dates. An advertiser needs at least 2 launches in the window to appear, and each row carries the sentence that earned its place. See [Inspiration & rising advertisers](/docs/inspiration). #### Does the pool cover every advertiser? No. The pool reflects what participating workspaces track, so an advertiser nobody in the pool follows cannot appear. It also makes no claim about sales or revenue. #### Can other workspaces see that I track someone? No. Ads in the pool carry the advertiser the source reports, never the workspace, monitor name or project that collected them. ### Team and email #### Do plans charge per teammate? No. Every plan includes unlimited team members. #### What should I use for a client? Invite them as a Member, create a project for them, and grant **Whole project** or **Specific monitors** access. See [Manage client access](/docs/manage-access). #### Who receives instant alerts and the weekly digest? Only users who can access the relevant monitor. The first sync never sends an instant alert. The weekly digest is always on and is sent every Monday. #### Can one account belong to multiple workspaces? Yes. Use **Switch workspace**. Each workspace has separate data, team, branding and billing. ### Branding and billing #### Which plan includes whitelabel? Agency, Max, Ultra and AppSumo Tier 3, 4 and 5. It includes brand identity across client-facing surfaces and a verified custom domain. #### Who can change Settings and billing? Only the workspace Owner. Admins manage operational workspace areas; Members manage their own **Profile**. #### Is there a free plan? No. Subscription plans include a 30-day free trial. AppSumo licenses are one-time purchases and do not include a trial. #### Where are invoices and cards managed? The Owner opens **Settings → Billing** and selects **Manage payment & invoices**. ### Getting help For a failed or incorrect source check, start with [Troubleshoot a sync](/docs/troubleshooting). For account-specific help, [contact support](/contact). --- ## Rival Ads glossary *Plain-language definitions for the labels and concepts used throughout Rival Ads.* Source: https://www.rivalads.io/docs/glossary · Markdown: https://www.rivalads.io/docs/glossary.md ### Product structure **Workspace:** The billing, team, branding and data boundary. One account can belong to multiple workspaces. **Project:** A group of monitors, usually for one client or brand. Project access can include current and future monitors. **Monitor:** One competitor tracked on one channel. It has its own source, locations, ads, history, reports and alert setting. **Channel:** One public advertising source: Meta, Google, TikTok or LinkedIn. **Location:** A country queried at the source. A monitor supports up to five, with one default. **Sync / Sync now:** A source check that imports current public ad information and compares it with existing history. **Sync now** lets an Owner or Admin request one on demand. ### Ad activity **Ad activity:** The Ads-tab area containing period controls, filters and Gallery, Board or Table. **Started:** An ad that began within the selected Day, Week or Month. **Stopped:** An ad that stopped within the selected period. **Continued:** An ad that was already running before the period and continued through it. **Gallery:** The visual browsing layout. **Board:** The three-column Started, Stopped and Continued layout. **Table:** The compact comparison layout. **New:** A newly discovered ad that the current user has not yet reviewed. **Landing page:** The captured, dated page behind a Meta or Google ad, recorded once per destination rather than once per ad. **Offer timeline:** The history of the price a landing page showed on each capture: what it said, when it was first and last seen, and the capture that shows it. **Not yet confirmed:** A price reading seen once that has not met the stable-read rule, so it is recorded in the timeline but not reported as a change. ### Intelligence and reporting **Creative intelligence:** An individual ad read containing available hook, angle, persona, visual style, transcript and on-screen text. **Hook:** The opening idea or line used to capture attention. **Angle:** The messaging approach, such as Offer, Social proof, Problem / solution or Product demo. **AI strategy read:** A summary of the monitor’s captured changes and recommended actions. Starter and Growth are guaranteed monthly; a start or stop found by a source check can bring the next read forward once 14 days have passed since the previous read. Scale, Agency and Max are guaranteed weekly. **Previous reads:** Completed historical strategy reads selectable in Reporting. **Download PDF report:** An export of the selected completed strategy read. **Public report link:** A no-account link to the latest completed read. It can have a password and can be revoked. **Report language:** The language specifically selected for a public report link, or **Inherit** from project and workspace settings. **Client language:** A project-level language for its client-facing reads, reports, PDFs and copy-sheet labels. **Personal language:** A user’s dashboard and received-email language. **Workspace default** clears the personal override. **Effective client-facing language:** The final result of **Report language → Client language → Language**. A strategy read is prepared again only when this result changes. ### Library and email **Library:** The workspace’s shared swipe file of saved ads. **Unsorted:** Saved ads that are not in a folder. **Artwork + copy sheet:** A Library download containing creative files plus CSV and Markdown details. **Instant new-ad alerts:** Per-monitor emails sent when a later source check discovers new ads. First syncs do not alert. **Weekly digest:** The Monday email summary containing only monitors the recipient can access. ### Inspiration **Inspiration:** The opt-in pool of ads shared between participating workspaces. Opting in shares the ads your monitors collect and unlocks everything other participating workspaces share. **Pool:** The live set of ads contributed by every participating workspace, with one card per creative however many workspaces track it. It reflects what participants track, not the whole internet. **Rising advertisers:** The Inspiration tab that ranks pool advertisers by launches in the last 14 or 30 days times one plus the share that ran for at least 7 days. Scoped by default to your workspace's channels and markets. **Launches (Rising):** An advertiser's pool creatives whose source start date falls inside the window. Undated ads never count. **Survival (Rising):** Of the launches old enough to have run 7 days, the share that ran for at least 7 days, live or since stopped. Google ads use observed dates (first shown to last shown). **Track:** The action on a Rising row that opens the add-competitor flow prefilled from the source, with plan limits and source verification applied as usual. ### Roles and access **Owner:** The person with full workspace and billing control. Only the Owner can open Settings. **Admin:** A full operational workspace manager who sees all projects and monitors. **Member:** A scoped teammate or client who sees only granted projects or monitors. **Whole project:** Access to every current and future monitor in one project. **Specific monitors:** Access to selected monitors in a project. **All projects — current & future:** Member access to every current and future project without changing the role to Admin. ### Plans and branding **Monitor slot:** One unit of plan allowance used by one competitor-channel pair. **Whitelabel branding:** An eligible workspace’s customer-facing brand name, logo, colors, favicon, sender and support identity. **Custom domain:** A verified domain owned by the workspace and used for its sign-in, product and links. For guided tasks, return to the [documentation home](/docs).