Why your Ninja promotion is not showing to customers

Ninja is the platform where the honest answer to this question is that there is nothing to show, and restaurant operators looking for a broken campaign are usually looking for a tool that does not exist. We read the full front end of the Ninja Portal and found no discount, coupon, offer or promotion screen anywhere in it. Its growth area is called “Marketing” and contains exactly two things, both paid placement rather than price: “Ad Banner” and “Top List”. Both are booked, both require approval, and both are billed under a contract the merchant signs and uploads.

We publish no downtime figure for Ninja, since our July 2026 measurements cover the UAE, Saudi Arabia and Kuwait and are reported by platform only where we track that platform. One practical note before anything else: the working domain is ananinja.com. The Ninja Portal sits at restaurant-portal.ananinja.com, and searches that land on ninja.sa are on a host that does not answer.

Does Ninja’s restaurant portal have a discount tool?

No. The portal’s own interface dictionary, in both English and Arabic, contains none of the vocabulary a discount tool has to carry: no “Discounts”, no “Promotions”, no “Coupons”, no “Offers”, no buy one get one mechanic, no minimum order value field. The one section that could hold such a tool is “Marketing”, Arabic “التسويق”, and it is gated behind two permissions named restaurant_banners and sponsorship_programs, which correspond to the two paid products rather than to any pricing feature.

Two orphan strings do exist in the dictionary, “Platform Discount” and “Restaurant Discount”, Arabic “خصم المنصة” and “خصم المطعم”, each with its own placeholder text. We could find no screen that renders or submits them, so we are not going to claim Ninja operates a co funding tool on that basis. They are the only trace of a platform against restaurant split anywhere in the build. Source: the portal’s own interface dictionary of the portal at restaurant-portal.ananinja.com.

What are Ninja “Ad Banner” and “Top List”?

Two bookable placements, each with its own request flow. The portal describes them in its own words. The banner is requested through “Request New Ad Banner”, with the invitation to “Request an ad banner that drives higher traffic and boosts sales more efficiently”, and it carries a “Title” field. The listing product is requested through “Request New Top List”, described as a way to “Request a top list that increases visits more and increases sales more”. In Arabic the two are “البانر الإعلاني”, the advertising banner, and “القائمة المميزة”, the featured list. That second name is also the disclosure a customer reads. Ninja’s consumer listing carries a paid marking on a share of its cards, rendered as “Ad” in English and, under the interface key sponsored, as “مميز” in Arabic. On 3 September 2026 the first page of ananinja.com/sa/en/restaurants carried fifteen of them, so the product and the label share a word.

Pricing is a rate rather than a budget. The forms carry “Daily Amount” and “Deal Days”, Arabic “المبلغ اليومي” and “أيام العرض”, and submit a per day fee, with the total being the rate multiplied by the number of days. The rate itself is looked up from a fee table keyed on the schedule and the number of branches, so a chain and a single site are quoted differently for the same placement. Neither product changes what a customer pays for the food, which is the distinction an operator has to make before going looking for a discount that was never available.

How far in advance must a Ninja campaign be booked?

Longer than most operators expect, and the two products differ. The date pickers enforce a minimum lead measured from today: a Top List cannot start sooner than three days out, and an Ad Banner cannot start sooner than fourteen. Both cap the start date at thirty days ahead and cap the campaign length at thirty days.

That fourteen day floor is the single most consequential number on this page. It rules out banner placement as a response to anything, including a competitor’s campaign, a quiet week or a seasonal moment somebody spotted late. Ninja also puts a contract step after the booking, not before it: on submission the portal produces a draft contract to download, and the merchant then returns a signed copy through “Upload Signed Contract”, Arabic “تحميل العقد الموقع”, accepted as a PDF up to 15MB. The lead time therefore starts before the paperwork rather than after it.

Why does a Ninja campaign say “Under Process”?

Because every booking is moderated, and Ninja shows the review state rather than hiding it. The three statuses are “Under Process”, “Accepted” and “Rejected”, in Arabic “قيد المعالجة”, “مقبول” and “مرفوض”, colour coded orange, green and red in the portal. Nothing appears to customers until a booking is accepted, and Ninja publishes neither a turnaround time nor the grounds on which a request is rejected.

For an operator that produces a specific and avoidable failure. A campaign left in “Under Process” looks the same as a campaign that was submitted successfully, because it was submitted successfully. The thing that has not happened is on Ninja’s side, and the only signal is a status field somebody has to go and look at. Combined with a fourteen day lead time on banners, a booking that sits unreviewed for a week has effectively missed the window it was created for.

Which branches does a Ninja campaign cover?

Whichever were chosen, through a two value selector the portal calls “All Branches”, Arabic “كل الفروع”, against specific branches. When all branches is selected the portal submits an empty branch list and reads the count from the restaurant record instead, and because the fee table is keyed on branch count, the branch scope changes the price as well as the coverage.

A schedule is mandatory too. The form requires a schedule to be selected, prompted with “Select a Schedule”, Arabic “اختر جدولا زمنيا”, and only schedules that have a published fee band for that product are offered. A booking that cannot find a matching fee band therefore cannot be completed at all, which is a refusal rather than a campaign that runs badly. The portal reports its bookings under a filter it labels by branches, so an operator reviewing a list of live placements is reading branch coverage rather than campaign names.

What does Ninja not publish about discounts?

Everything, and the absence is the finding. There is no published co funding split, no budget or cap on a discount because there are no discounts, no customer segmentation, no minimum basket, no conflict rule between overlapping offers and no promotions API. Ninja publishes no developer documentation, and it has no merchant or partner app on Google Play, only the consumer app.

What that leaves a chain with is a platform where visibility is bought in advance and price is not a self serve lever at all, and where the only external evidence of whether a booking is actually running is the customer facing listing. Kitchain (kitchain.co) records what each Ninja branch page is showing day by day, which on a platform whose bookings are approved by hand and cannot be started inside two weeks is the only way to confirm that a paid placement went live on the date it was contracted for.

Nothing about that check is exotic, and on Ninja it is the whole audit, because the portal’s own record ends at whether a booking was accepted rather than whether it appeared.

For Ninja itself, its market, its ownership and its branch states, see our profile at kitchain.co/aggregators/ninja/.

Start Monitoring



    No credit card. No integrations.
    We'll configure your first location and confirm within 24h.
    Request a Demo

    Book a personalized walkthrough of Kitchain Products.



      We'll get back to you within 24 hours.