AdSanity Ordered Ad Group Widget - WordPress Plugin
The Ordered Ad Group Widget Add-On for AdSanity offers AdSanity users a new way to add advertisements to their pages or posts. With this new widget you are able to configure a specific set of your ads to display in the order you indicate.

Plugin Features
This is ideal for situations where you have two differently sized ads next to one another, or even for a single row of ads that you want to be able to reorder from time to time. In addition to the new widget, you can build a shortcode from the text editor as well. This will give you the same functionality that exists in the widget within your content.
Specifications:
| Release date: | 11-10-2020 | |
| Last updated: | 09-02-2022 | |
| Type: | Paid | |
| License: | GPL | |
| Subject: | Ads & Affiliates for AdSanity | |
| Compatibility: | W5.x | |
| Includes: | Plugin | |
| Language packs: |
|
|
| Developer: | AdSanity | |
| Rating: | ||
Share with your friends!
A Guide to Managing Ad Order with AdSanity Ordered Ad Group Widget
This guide to AdSanity Ordered Ad Group Widget will help you understand when a fixed order for ad creatives is genuinely necessary, prepare ads and groups without confusion, configure output through a widget, block, or shortcode, and verify that visitors see the exact sequence you approved. Rather than covering general ad-management workflows, it takes you through the practical path from a set of ready-made ads to a stable row on the public site, including size constraints, campaign updates, and safe troubleshooting.
This add-on extends AdSanity where random rotation is no longer appropriate. A standard group is useful when several partners need to share a single ad slot in turn. But an editorial page, partner showcase, sponsor strip, or a combination of a vertical and wide banner requires different behavior: the first creative must appear first, the second must sit beside it or immediately after it, and a position must not change based on the ad title, creation date, or page refresh.
The main value is not simply the number of banners. AdSanity Ordered Ad Group Widget gives an editor explicit control over a list of specific ad records and lets them arrange those records in the chosen sequence. That makes the add-on useful beyond commercial advertising. You can use it for internal promotional blocks, product links, webinar announcements, and partner cards if they are created in AdSanity and need to appear in a controlled order. At the same time, it does not turn AdSanity into an ad marketplace, replace audience-targeting rules, or automatically make a theme responsive.
It helps to distinguish three similar but different tasks from the start. The first is showing one ad in a specific location. The second is displaying a group and letting the system choose one or more creatives according to the group's usual rules. The third is displaying several preselected ads in the exact order defined by the editor. This add-on solves the third task. If a page only needs one random banner, a fixed sequence will make maintenance more complicated. But if one row must contain, for example, a branded rectangle, a vertical banner, and your own call to action, an explicit list reduces the risk of accidental reordering.
When a Fixed Row of Ad Creatives Makes Sense
Start not by adding a widget, but by deciding which editorial rule the block needs to follow. A fixed row should always have a reason that can be verified visually. It may reflect an agreed sponsor hierarchy, a composition of ads with different dimensions, a sequence of in-house promotions, or a temporary selection in which the first item leads to the main campaign content. If no such rule exists, a standard group is usually safer because it scales more easily when the lineup changes frequently.
Use Cases Where the Add-On Is Especially Useful
The clearest case is a horizontal strip with several adjacent ad placements. One partner may provide a tall vertical image, while another has a wider block. With random output, neighboring ads change, so the page may look balanced one time and develop an awkward gap the next. A fixed order lets you preview the exact combination visitors will see and preserve it until an editor intentionally changes the list.
A second case is an article with a deliberate native-content sequence. A block about a partner service comes first, followed by an editorial offer and then an event banner. These materials may live in the same ad infrastructure to simplify scheduling and source-asset management, but they cannot be treated as interchangeable alternatives. In this kind of row, the order is part of the editorial structure rather than a cosmetic setting. The list of IDs in a shortcode or the order selected in the interface becomes explicit documentation of that structure.
A third case is a temporary rearrangement without editing a template. During a themed week, partner promotion, or content series, a site owner may need to move an existing block above the others. The add-on lets you reposition an item in the set while preserving the ad's visibility according to its own schedule. This differs from copying a banner into an article editor: the ad record remains a single managed item, while position management stays at the display location.
Who Will Find This Add-On Easier to Use
The add-on works well for an editor or partnership manager who has a clear set of published ads and authority to determine their order. It is useful for a small media-site owner who needs to assemble several permanent promotional blocks in a sidebar or below an article. A developer may appreciate being able to pass the same set into a theme through a documented display method, but for ordinary editorial work, a block, widget area, or shortcode is usually enough.
An administrator managing several placements should agree on a simple convention: an ad title answers what the creative is, while its position in the set answers where it will appear. Do not try to encode position solely with prefixes such as "01_" and "02_" in titles. Such prefixes become outdated quickly, make searching harder, and are not a rule the add-on itself understands.
When Another Display Method Is Better
Do not use Ordered Ad Group Widget for every ad placement out of habit. If a page needs a single banner, use a single ad. If advertisers should receive a variable share of impressions, the task is closer to a regular group, rotation, or weighted delivery than to a fixed list. If the more important question is whether an ad should appear in a certain category, on a particular page, or for a specific user role, order alone does not provide that capability: first you need the appropriate visibility rules, then a meaningful way to arrange the creatives.
You should also not expect the add-on to fix inconsistent layouts. A row of banners with dramatically different heights can be fixed in order perfectly and still look visually heavy on a narrow screen. First determine the allowed width of the placement area, the theme's behavior, and the available size set. Then choose columns and any width limit. Ad order and container responsiveness are two separate things to verify.
How Controlled Output Is Put Together
To use the add-on confidently, it helps to see the entire chain rather than a single settings screen. AdSanity stores each advertisement as an individual record. That record includes a title, the selected ad type, dimensions, destination URL or provider code, display dates, and, where applicable, group membership. A group helps organize related ads, but Ordered Ad Group Widget is more specific: for output, it needs a defined list of ads and the position of each item within that list.
When an editor places the add-on through a widget area, editor block, or shortcode, the display location passes the selected ads, number of columns, alignment, and, if needed, a maximum width to the rendering mechanism. AdSanity then checks the normal state of every ad record: whether it is published and whether its display period is still active. Only available ads reach the public site, but their original sequence is not shuffled. That is why you should check not only how the row looks, but also the status of every item in it.
The practical conclusion is straightforward: a managed row requires maintenance at two levels. At the ad level, monitor the creative, link, dimensions, and schedule. At the placement level, manage the order, column count, width, and location on the page. If you change one level, expect a change at that level only. Replacing an image updates the ad's content but does not move it to the first position. Reordering an ordered set changes its sequence but does not extend an expired campaign.
Preparing Your Site and Ad Inventory Before Installation
Preparation for this add-on is not about a long technical checklist. It is about avoiding a sequence built from unsuitable materials. According to the official requirements, the add-on runs on top of a current AdSanity Core installation; its product page lists minimum WordPress, MySQL, and PHP requirements. Before making changes, compare those requirements with your environment in the hosting dashboard and the WordPress Site Health section. If the main AdSanity plugin is disabled or outdated, the ordering add-on should not be treated as a standalone ad manager.
Create a normal site backup, especially if you plan to change a widget area, template, or caching rules. A backup is not necessary just to move two ads around, but it encourages a disciplined process when banners, widgets, and styles are being edited on a live site at the same time. Then choose one test page or hidden draft where you can review the output without immediately affecting visitors.
Check the Foundation: AdSanity Core and Access Permissions
In the admin dashboard, make sure the base AdSanity plugin is active and its sections are available. The add-on requires the core plugin for more than formality: it is the component that creates ad records and stores their dimensions, schedules, and placement methods. If a staff member can access the WordPress menu but cannot open ad records or save changes, first check their role and permissions for plugin management and the relevant post type. Giving someone administrator access solely to rearrange banners is not always necessary or safe.
Identify where the ads will live in your theme. It may be a sidebar, an area below an article, a pre-footer area, a dedicated page template, or content edited with blocks. For a classic widget area, confirm that the theme actually renders that area on the required page type. For the block editor, choose one post in advance where you can save and inspect the block. For a shortcode, decide who will maintain it when the text is edited later.
Prepare the Ad Records You Will Use
Do not begin with an empty ordered set. First prepare every ad in AdSanity: title, creative, destination URL or external-network code, dimensions, schedule, and, if it helps with internal coordination, a clear note for the team. Use human-readable names: "Fall course - wide strip" is better than "new banner." A few weeks later, the title will help you quickly find the record to replace instead of confusing it with a similar ad.
Each creative should have clear dimensions. For a locally hosted ad, match the actual image size to the ad size selected when creating it. For an external network, make sure the code belongs to the intended format and has not been pasted with corrupted characters. For HTML5 creative, test the archive separately in a test environment. Ordered Ad Group Widget preserves the selected order, but it does not change a banner's proportions or fix an external provider's code.
| Item | What to document | Why it matters for ordered output |
|---|---|---|
| Ad title | Campaign, format, and schedule in clear language | The editor can select the correct record from similar creatives without mistakes. |
| Dimensions | Actual width and height or a responsive format | You can review how materials sit next to one another and choose the column count in advance. |
| Link or code | A working destination URL or verified network snippet | Order does not hide a broken destination or empty external code. |
| Schedule | Start date, end date, or indefinite display | An empty space is more often caused by the record's status than by sorting. |
| Owner | Who changes the creative and who approves the order | Replacing a campaign does not disrupt the agreed page composition. |
Pay particular attention to combining different sizes. The official add-on description specifically mentions two ads of different dimensions placed side by side. That is not permission to place any formats together in one row. Choose the intended presentation: a vertical block next to a tall partner banner, several matching rectangles, or a single column of consecutive cards. If the heights are incompatible, use one column or adjust the source materials rather than hiding the issue with negative margins in the theme.
Do You Need a Group If the List Is Already Ordered?
Groups in AdSanity are useful as meaningful classifications: they collect ads for a campaign, category, or placement. Create them in Ad Groups when doing so makes the overall set easier to manage. Official documentation describes a group as an ad-record taxonomy and allows you to assign an ad to a group during creation or later. This is useful when one creative belongs to several organizational collections or when you need to open related records quickly.
However, do not treat a standard group as a guarantee of the sequence you need. Its typical purpose is to place several alternatives and potentially rotate them. Ordered Ad Group Widget addresses a more specific case: you select exact ads and arrange them manually. A sensible model is therefore this: a group defines topical membership, while ordered output defines the sequence in one specific location. This keeps the setup clean and avoids using ad titles as a substitute for sorting.
Define the Editorial Rule Before Clicking Through the Interface
In a task sheet or working brief, write down the future row in plain language: "Main partner first, then our course, then the event announcement." Next to it, note which pages need this row and who may change it. This short note is more useful than a lengthy technical report. It helps during a campaign replacement: the staff member understands that the second item should be replaced rather than simply adding a new ad to the end of the list.
Consider a few edge cases ahead of time. What should remain when one partner banner reaches its end date? Is it acceptable for the row to become temporarily shorter? Do you need an in-house fallback ad created in advance in AdSanity? Is there an editorial constraint against placing two similar creatives next to each other? These answers are not add-on settings, but they determine how you will maintain it. A fixed order is useful only when there is also a clearly defined replacement rule.
Installing the Add-On and Performing Your First WordPress Check
Once preparation is complete, install the add-on as a standard WordPress plugin through Plugins and activate it. Do not try to enable it from a post editor or place its files in the theme directory: the add-on must register its own components inside an already working AdSanity installation. After activation, open the area where you normally add widgets or blocks and confirm that the new ordered-group option is available among the AdSanity elements.
On modern sites, the path depends on the editing system in use. If the theme relies on widget areas, look for the element under Appearance and Widgets, or in the Site Editor if it manages those areas. If pages are built with blocks, open the block inserter and find the AdSanity section: official documentation confirms a dedicated Ordered Ad Group Widget block after the add-on is activated. If your content supports shortcodes, you can build an ordered set from the editor or manually insert a verified string.
Your first check should be small: take two existing test ads, put them in an intentionally obvious order, and save the placement. Do not change the theme, cache, dimensions, and schedules at the same time. Open the public page in a new window and verify three things: both creatives are visible, they appear in the expected sequence, and their links lead where they should. If all three conditions are met, the foundation is configured correctly. You can then build the real ad row without guessing where an error came from.
Quick takeaway. Before configuration, you should have active AdSanity Core, an available add-on, two or more published and tested ads, a clear display location, and a written rule for their order. If even one of these is missing, do not try to compensate with grid settings.
Configuring an Ordered Group: From Ad Selection to Grid Layout
After the first successful check, move on to the real configuration. The important thing here is not to rush into choosing a column count. First assemble the exact list of ads, then set the order, then choose the location, and only after that evaluate the grid on the public site. This sequence reflects how the add-on works internally: it first receives a list of ad records, then renders them in the specified order, and the grid determines how that list is arranged inside the available container.
If you use a widget area, add Ordered Ad Group Widget to the selected area. Give it an internal title only if visitors should see that title. Otherwise, do not display a technical phrase such as "Ad Group" on the page. Within the element, select the required records and arrange them so that the top position represents the first item in the future output. Save after a small change rather than after ten unsaved drag-and-drop actions: if something goes wrong, it will be easier to identify which step changed the page.
Select the Content First, Then Set the Order
Your list should contain already tested ad records, not a collection of similar drafts. It is useful to open Manage Ads alongside it: AdSanity shows the title, dimensions, shortcode, placement information, and display periods there. This helps prevent you from selecting a similar creative whose campaign has already ended. After selecting the ads, say the sequence aloud or compare it with the editorial rule you prepared. In a multi-item row, an error is rarely obvious in the interface, but it becomes immediately visible on the page when the agreed primary banner appears third.
Do not rely on alphabetical sorting in the ad list. It is meant for navigation in the admin dashboard, not for controlling the output order. In an ordered set, every position should be intentional. If two ads cover the same topic but one leads to the main product and the other to a secondary offer, place them according to the reader's path. If the materials have equal priority, still choose a fixed rule: for example, the permanent partner first and the current promotion second. That prevents arbitrary debates during the next update.
Column Count and Width: Settings Do Not Replace Theme Layout
The column-count setting determines how the sequence is divided in the output. One column works well for a sidebar, vertical stack, and any case where a strict top-to-bottom sequence matters. Two columns are useful for a pair of compatible rectangles or a row where the relationship between elements matters more than reading them one at a time. More columns make sense only when the container is genuinely wide enough and all ads remain legible.
Do not choose the number of columns simply because you have the same number of ads. Three ads do not have to become three narrow columns. Sometimes two columns with the final item on a new row are more reliable; sometimes one column with larger creatives is better. Check the placement width in the theme itself: an article's content area, a sidebar, and a full-width page offer different horizontal space. Evaluate the appearance in the template where users will actually encounter the block.
The max_width parameter, also available in the shortcode, is intended to limit maximum width rather than serve as a universal way to stretch a small image. For a banner prepared at 300 pixels wide, it is sensible to limit the container so it does not expand across an entire wide screen. For a responsive creative, the limit can help keep it within the composition. But if the theme adds its own width or spacing rules, check the style cascade on a site copy first rather than assigning random values in every placement.
A Practical Choice for a Typical Editorial Site
Start with one of three conservative options. In a sidebar, use one column and creatives with identical or similar dimensions. Below an article, use two compatible rectangles if the content width and mobile presentation allow it. For a partner strip in a wide template, first show the row on a test page, then limit the number of columns to the value at which captions, borders, and images do not begin to compress. The best settings are those that hold up not only on an editor's large monitor, but also at a narrow reading width.
| Setting | What it affects | Check after saving |
|---|---|---|
| Ad list | Which exact records may appear | All selected creatives are published and match the purpose of the row. |
| Record order | Output sequence | The first, second, and subsequent items match the editorial plan. |
| Column count | The row's layout inside the container | There is no unwanted compression or overflow at wide and narrow widths. |
| Alignment | The position of the entire ad block | The block does not conflict with article text, images, or neighboring theme elements. |
| Maximum width | The growth limit for the rendered creative | The banner does not become disproportionately wide or extend beyond its container. |
Placement Through the Block Editor
If an article or page is assembled in the block editor, add the ordered-group block from the AdSanity section after activating the add-on. This is a good option when the ad row belongs to one specific piece of content and the editor needs to see it in context with the text. The block's advantage is context: you can place it after an introduction, between meaningful sections, or before a final call to action without changing a global widget area.
In the block editor, do not place ads inside every short paragraph just to make them more noticeable. First consider the reader's rhythm: the block should appear where it does not interrupt an instruction, table, or important warning. After inserting it, save the draft, open the preview, and verify the actual sequence. If the editor only shows a simplified label, do not draw conclusions about the final appearance from that label - the public site provides the final proof.
A Shortcode for Precise, Repeatable Placement
When the display location supports shortcodes, the add-on uses the [adsanity_ordered] format. Official documentation describes four parameters: ad_ids, num_columns, align, and the optional max_width. The first parameter matters most: it lists ad record IDs separated by commas in the exact order they should appear. This makes the shortcode a good option for a publication template or a document where the precise configuration must be retained.
Below is a safe instructional example using placeholder IDs. Do not copy it to a live site without replacing the numbers with IDs for existing ads in your AdSanity list.
[adsanity_ordered ad_ids="105,107,104" num_columns="2" align="aligncenter" max_width="300" /]
In this example, record 105 is requested first, followed by 107, then 104. Two columns define the grid, aligncenter asks the theme to center the block according to its rules, and max_width limits the width of rendered creatives. Do not add spaces or arbitrary words inside the ID list. If an ad is later replaced by another record, update this parameter specifically and repeat the page check.
Do Not Mix Handwritten Code and Visual Configuration Without a Reason
It is best to maintain the same ad row through one primary method. If an editor repeatedly changes the order through a block while a developer leaves an old shortcode in a template, different pages will end up with two versions of the "same" set. Choose a configuration owner. For a local article, that is usually the block. For a permanent theme area, use a widget or template output. For repeatable content insertion, a shortcode with a documented list of IDs is useful.
After configuring the row, do not create a new ordered set on every page just for a minor rearrangement. First ask whether that page truly requires its own editorial rule. Otherwise, it will become difficult to know where to update a campaign. One display task should have one clear source of order.
Quick takeaway. Correct configuration begins with specific records and their sequence. Columns, alignment, and width refine the appearance of the output, but they should not compensate for unsuitable dimensions or an unclear editorial purpose.
How Order Becomes a Visible Ad Row
Understanding the internal chain protects you from the most common mistake: an editor changes the wrong level and expects a different outcome. The input for Ordered Ad Group Widget is not an abstract group name but a list of specific ads in a defined sequence. Depending on the placement method, this list is created in widget settings, block settings, or from the shortcode's ad_ids value. The add-on then passes that list to AdSanity's rendering mechanism, where every ad record goes through its standard status check.
If a record is published, its display period permits it to be shown, and the creative is available, it occupies its position in the output. Column count and alignment determine the container's form, not the sequence. On the public site, the theme adds its own area styles, and the browser lays out the final markup according to available width. The final appearance therefore consists of four layers: ad sequence, ad status, display settings, and theme CSS. Separating these layers helps during both configuration and troubleshooting.
Input: Ad Records, Not Image Files
In AdSanity, the managed object is the ad record. A banner file may be part of that record, but the file itself does not participate in ordered output. A record has a title, dimensions, creative source, link or external code, schedule, and other settings. That is why renaming a JPG file in the Media Library cannot solve a reordering issue. You need to change the selection or position of the ad record in the relevant placement.
This approach provides an important maintenance advantage. When a partner sends an updated image in the same format, you update the creative within the existing record. Its place in the ordered set remains unchanged. When a new partner appears, you create or select another record and intentionally place it in the required position. No developer should need to search for a banner by file path in a template when the process is managed through AdSanity.
The Rule: Sequence Takes Priority Over Random Rotation
A standard ad group may be designed to rotate alternatives, while ordered output preserves the sequence set by the editor. For readers, the difference appears as a stable row. For the team, the distinction runs deeper: order becomes part of the publication decision. If a top-tier partner must appear first, that rule can be checked every time the page is reviewed. If an in-house promotion must occupy the first position, its place does not depend on how records are sorted in the general ad list.
Do not confuse a fixed sequence with a promise that every item will always appear without exceptions. An ad record may still be absent from the page if it is unpublished, its assigned period has ended, or its content is unavailable. Treat the list as a route: the system processes it from top to bottom, but the actual output consists of records that are available for display. When one item disappears, the second item does not become the cause of an error - it simply keeps its relative position among the available creatives.
Output Layout: Columns, Alignment, and the Container
After you select the list, display layout comes into play. The num_columns parameter sets the number of columns. In a shortcode, it is an explicit number; in a widget or block, it appears as the corresponding setting. Alignment accepts AdSanity placement values: alignleft, alignright, aligncenter, or alignnone. Their final effect depends on the theme CSS, so the same value may look slightly different in different site areas.
Maximum width helps keep advertising within sensible limits, but it does not override the physical properties of the content. Imagine two vertical banners, each 160 pixels wide, placed next to each other. In a wide area below an article, they may form a calm pair. In a narrow sidebar widget, the same combination will require compression or wrapping. The right solution is to change the column count or choose another area, not to force everything into place with alignment settings.
Output Verification: The Public Site Remains the Main Proof
Saving settings in the admin dashboard confirms only that WordPress accepted the configuration. It does not prove that a visitor sees it without interference from caching, responsive rules, or conditions on the ad records themselves. Open the page in a separate window, then in a private browser window. If the site uses caching, check the result after normally clearing the relevant cache. Do not begin by clearing every service at once: first confirm whether the page is showing genuinely new configuration or old HTML.
Your check should read the row as a user would. Is the first block really first? Has the second shifted into an awkward position? Is the full expected area clickable? Does a banner extend outside its card or container? At a narrow screen width, do the items move into a predictable vertical sequence? Record the test outcome at least in the task: page title, order, and date of change. This brief note is more useful than an unexplained screenshot because it lets you compare a future row with the expected rule quickly.
Practical Example: A Partner Strip Below a Long Article
Consider a specific task. A niche media site has detailed articles, each of which should end with a strip containing three items: first a wide banner for the main partner, then an in-house course announcement, and finally a compact invitation to an industry event. With standard rotation, the main partner could disappear or end up after the site's own promotions. Inserting three ordinary images directly into the text would also be a poor choice: it would be harder to replace a campaign, check schedules, and maintain centralized control of ad creatives.
Goal and Preparation for the Example
The goal is to create a managed strip that can be verified on the article page and updated without editing a template. Before starting, three published AdSanity records have been created: Main partner - wide, Editorial course - rectangle, and Event - rectangle. The first record has a wide creative, while the other two use compatible rectangles. The team has agreed that when the partner campaign ends, its position will temporarily be filled by an in-house fallback promotion rather than by a random next item.
Sequence of Actions
- Open a test version of the article or a separate page where the strip should appear after the main content.
- Add the Ordered Ad Group Widget block or insert the shortcode into a content field that supports it.
- Select the three prepared ad records and arrange them in the approved order: main partner, editorial course, event.
- For the first test, set one column to eliminate the grid as a variable and prove the sequence itself.
- Save the draft, open the preview, and confirm that the three positions follow one another without reordering.
- If the container is wide enough, change the setting to two columns and review it again at normal width and on a narrow screen.
- After approval, publish the change and document which record serves as the fallback when the first campaign ends.
What Should Be Visible After Publishing
The reader first sees the main article, followed by a clear strip of advertising and editorial offers. The main partner does not swap places with the editorial course when the page is opened again. If the two compact items sit side by side, their borders and spacing do not compete with the width of the content area. In the admin dashboard, the three ads remain separate records: each can have its schedule, image, or link changed without recreating the page placement.
A Commonly Missed Detail
If the first record expires, the row may look different even though the order of the remaining items is not broken. Therefore, do not wait for an editorial complaint on the eve of a campaign change. Open the ordered set, replace the first position with the fallback record, and perform another quick preview. This is safer than extending an old ad "just in case" or leaving an empty space in the hope that the theme will align the remaining creatives on its own.
Quick takeaway. In this example, AdSanity stores the ad creatives themselves, Ordered Ad Group Widget stores the editorially meaningful sequence, and the theme controls the final layout. You need to check all three layers, but change only the one that is actually related to the symptom.
Checking the Output on the Page, at Responsive Widths, and After a Campaign Update
An ordered set should not be considered complete based on one screenshot from the admin dashboard. Its value appears only when the reader sees the expected order in the real site template. Adopt a simple review cycle: save the configuration, open the page without the admin toolbar, compare the order, test the links, inspect a narrow width, and repeat the preview after making one controlled change. This takes little time, but it separates a proven outcome from the assumption that the settings "should work."
Review After Every Meaningful Change
Start with the sequence. Keep the editorial rule and the page open side by side in a new window. Do not look at ad titles in the interface; instead, read the visible row from left to right or top to bottom, as a visitor will see it. If the first and second creatives have similar artwork, temporarily use clearly distinguishable test labels or colors in a closed test environment. The goal is not to create a polished demonstration, but to confidently confirm that the first selected record is the one rendered first.
Then test every link. A managed position does not guarantee the correct destination URL. Open the link in a new window, confirm that it belongs to the relevant campaign, and return to the page. For external ad code, do not alter the code based on a guess: if an ad looks wrong or leads somewhere different from what the provider supplied, first compare the original code and the rules of the ad service itself. AdSanity manages placement, but it cannot verify an external service's destination for that service.
Checking Narrow Widths Without Drawing False Conclusions
Two ads that look good in columns on a wide screen may move into one column at a narrow width. That transition is often normal: the theme preserves readability and prevents banners from extending outside the container. What matters more is that the relative order does not change, clickable areas remain accessible, and article text does not overlap the ad block. Open the browser's responsive-view tools or use a real mobile device and evaluate the page at two or three widths that matter to your audience.
If banners become too small, do not rush to enlarge them with CSS. First reduce the number of columns for that placement. If two blocks do not fit in a sidebar, one column is almost always more reliable. If the issue occurs only in one theme or on one page, inspect the container width and the parent block's spacing. Fix the layout constraint rather than adding a global rule that will damage other ad areas.
Checking the Status of the Ad Records Themselves
The second part of the review applies to every item in the list. In Manage Ads, AdSanity shows important information about ad records, including dimensions and display periods. Before publishing or replacing a campaign, make sure the ad is published, its start date has passed, its end date has not passed, and the selected creative type matches the prepared content. For a local image, open it in the Media Library and confirm that it is the correct version rather than an outdated file with a similar name.
Schedules are particularly important for a fixed row. If one item is no longer available, visitors may see a block with a different height or composition. That does not make the ordered set unpredictable, but it does change the real layout. Set a reminder before a key ad position expires and prepare a fallback creative in roughly the same format. Then the replacement becomes an editorial action: you change the record in the first position, save, and check the page instead of trying to repair an empty space with styles at the last minute.
How to Safely Update One Item Without Breaking the Order
There are two different kinds of updates. If only the artwork, link, or text of the same advertising offer has changed, open the existing ad record and update its content. Its position in ordered output remains intact because it is still the same record. If a new campaign, format, or position agreement has arrived, create a separate ad record, test it on a test page, and then replace the required item in the ordered set. This preserves a clear history: the old creative can be disabled when its schedule ends or removed without mixing it with the new campaign.
Do not duplicate an old record merely to reorder it. Duplicates quickly lead to identical titles, different links, and unclear schedules in the list. Instead, change the order where it is actually stored. If your process uses a shortcode, update the ad_ids list and record the reason next to it. If the set lives in a block or widget, capture its contents in the working task. The goal is for the next editor to be able to repeat the review without archaeological work in old posts.
Caching and Styles: Avoid Mistaking an Old Page for an Add-On Failure
When the admin dashboard already contains the new order but the page still shows the old one, the sorting mechanism is usually not the problem. The page may have been delivered from browser cache, an optimization plugin, server cache, or a content delivery network. Start troubleshooting by comparing sources: is the new order visible in an authenticated editor preview, in a private window, and after normally clearing the cache layer used by the site? Do not clear everything indiscriminately or disable protective mechanisms for an extended time just because of one banner.
AdSanity has a separate Image Cache Buster add-on intended for cases where aggressive caching retains an outdated ad image. However, it does not replace normal page verification and is not relevant to every rearrangement. If only the ordered-set list changes, first inspect the page HTML and the layer caching the document itself. If an old graphic continues to be returned for the same image URL, then it may make sense to consider image-cache management as part of the site's overall policy.
Separate Order from Styling
AdSanity adds CSS classes to ad elements related to size, column, and alignment. Official documentation lists classes in formats such as ad-{size}, column-{number}, and alignment classes. This is a useful starting point when a theme has overly tight spacing or when column gaps need to be clearer. However, styling should be added in a child theme or the standard location for custom CSS, not by editing WordPress core files, AdSanity files, or the add-on itself.
Before making any appearance change, open your browser inspector and make sure you are looking at the class of the real element rather than assuming something from an old guide. Apply the change on a site copy first. Good CSS has a modest purpose here: improve spacing, alignment, or container behavior without changing clickability, hiding an ad, or creating separate rules for every advertiser. If a short change makes the order no longer visible, roll it back and check the configuration again without styling.
A Safe CSS Workflow
- Open a test page and inspect the actual ad-row markup with browser tools.
- Determine whether the defect belongs to the theme container, a specific column, or the ad block's dimensions.
- Add the smallest possible rule in a child theme or an approved custom-CSS location.
- Check the page without cache at wide and narrow widths, then open another page that contains advertising.
- If a side effect appears outside the target placement, remove the rule and scope the next change to a more specific theme container.
We intentionally do not provide a universal CSS snippet here. The add-on has classes, but the parent-area selector, theme grid, and responsive rules vary by site. An example using an unverified selector would be more dangerous than helpful because it could alter the wrong ad zone. It is safer to rely on documented AdSanity classes and your site's real markup than to copy code merely to make the guide longer.
What to Check for Performance and Reading Comfort
Ordered Ad Group Widget should not become a reason to display more heavy creatives than the page can support. Match the number of simultaneously displayed ads to the article's width and weight. An overly dense row can distract from the main text, while several large files can slow loading regardless of how well they are sorted. Prepare images at sensible file sizes, select only positions that are genuinely needed, and avoid showing the same promotion in several adjacent locations at once.
For readers, a good ad block is predictable: it is separated from the text, does not disguise itself as a navigation button, follows a stable order, and does not break apart a paragraph. For editors, a good block is easy to maintain: it is clear which record comes first, where the creative should be replaced, who owns the schedule, and how to check the published version. When these conditions are met, a fixed sequence becomes not a decorative device but a working part of the publishing process.
Output check. Swap two test ads, save, open the page in a private window, and confirm that those exact ads moved rather than only the admin preview changing. Then restore the approved order. This short test proves that you control the real display location.
Troubleshooting Ordered Output Without Random Changes
Problems with Ordered Ad Group Widget are best handled as an evidence-based path, not as a reason to immediately reinstall plugins. First inspect the symptom on the public page. Then determine whether it belongs to the ad record's content, its position in the ordered set, the grid settings, the theme, or a cached version of the page. This approach is especially useful for a fixed row: when you know which layer stores the order, you are less likely to fix the wrong component and create a new side effect.
The Entire Ordered Block Is Missing from the Page
If the display location is completely empty, do not begin by rearranging IDs. Open the editing page and make sure the block, widget, or shortcode is saved in the exact location rendered by the required template. For a widget area, verify that the theme displays that area on the current page type. For a block-based post, make sure you are viewing the published or updated version rather than an old draft. For a shortcode, compare the spelling of adsanity_ordered and required parameters with the official documentation.
Then move on to dependencies. The main AdSanity plugin must be active, and the add-on must be installed and activated as a separate plugin. The add-on page states that it requires a current AdSanity Core installation. If the widget disappears from the available-elements list after a WordPress update, do not add arbitrary code to the theme. First confirm that both components are enabled, review WordPress compatibility notices, and repeat the test on a clean test page. If the element appears there, the issue most likely belongs to the specific theme or display area.
When to Roll Back a Change
Roll back only the most recent safe action that can be connected to the symptom. If the block was visible before changing the column count, restore the previous column count. If you moved the widget between areas, return it to the working area. If you updated plugins and the template at the same time, do not delete all AdSanity settings: first reproduce the issue on a copy and separate the changes. Do not delete ad records to test visibility. That destroys data needed to diagnose the order.
Only Some Selected Ads Are Displayed
This symptom often looks like a sorting issue even though the order may have nothing to do with it. Open every record from the ordered list in Manage Ads. Check publication status, display start and end dates, the correct creative, and availability of the image or external code. If one item has expired, the rest of the sequence may render correctly, but the row will be shorter. If an external service's code no longer works, AdSanity cannot return content that the service did not provide.
Check one item at a time. Temporarily build an ordered set containing one suspicious ad and open a test page. Then return it to a combination with another known-working item. This isolates an ad-record issue from a container issue. Do not publish test materials on a live page: use a draft, private page, or test area so visitors do not see diagnostic content instead of the approved campaign.
Ads Are Visible but Appear in the Wrong Order
First identify the placement method. If you use a block or widget, open that exact instance and inspect the order in which the records are selected. If you use a shortcode, read the ad_ids list from left to right: the first number controls the first item, and the next controls the second. Do not rename ads or search for an alphabetical group setting until you have checked the actual ordered source. After correcting it, save and view the page in a private window.
If the order is correct in the dashboard but visitors still see the old version, compare the state with caching. This is particularly likely after a recent rearrangement when IDs and settings have already been saved. First check an authenticated preview, then a private window, then normally clear the specific cache used by the site. When the new order appears only after clearing cache, record that as part of the publishing process. The next campaign change will then include not only saving but also a controlled page refresh.
The Grid Breaks: A Column Overflows or Items Look Uneven
This symptom relates to layout geometry, not sequence. Compare the actual ad dimensions with the available container width. A vertical banner next to a wide rectangle may be compatible in height but not in width. If the column count is too high for the area, the browser will compress or wrap items according to the theme's rules. The safest fix is to reduce the number of columns, choose compatible dimensions, or move the row to a wider area.
When a theme has overly tight spacing, inspect its CSS containers with browser tools. Official AdSanity documentation describes classes for size, column number, and alignment, which gives you a starting point for careful styling. But do not begin with global rules such as changing every column-1 on the site: the same class may be used in several ad placements. Scope a future change to a specific theme container, test it on a site copy, and confirm that it does not change clickability or order.
An Old Banner or Previous Set Is Still Visible After an Update
Separate two situations. If the order is new but one position still contains the old image, an image file is most likely cached or the wrong Media Library version is selected in the ad record. If both the order and list are old, the page HTML is more likely cached. Open the page source or simply compare the view in different browser modes, then clear exactly the cache layer retaining the outdated output. With aggressive ad-image caching, consider AdSanity's standard solution for updating image URLs, but only after confirming the nature of the issue.
Do not delete and recreate the entire ordered configuration because of old cached content. That adds a second variable and makes verification harder. First save the expected list and record it, then refresh the cache and review the page again. If the old set remains after the refresh, return to the placement location and make sure there is not a second widget instance or another shortcode containing similar ads on the page.
The Shortcode Appears as Text or Does Not Produce the Expected Grid
When the string [adsanity_ordered] is shown literally to visitors, the field or page builder may not execute shortcodes. Test that on a simple post where WordPress definitely processes this type of content. Then compare the parameters with the official format: ad_ids lists IDs separated by commas, num_columns sets the column count, align accepts one of the supported values, and max_width is used when needed. Do not add parameters borrowed from another widget or an outdated theme snippet.
If the shortcode executes but the grid still differs from expectations, reduce the task. Keep two ads, one column, and alignnone alignment. After the sequence is demonstrably correct, add columns and the width limit one at a time. This lets you see which parameter interacts with the theme unexpectedly and prevents troubleshooting from turning into guesswork.
| What the visitor sees | Likely layer | First check | Safe action |
|---|---|---|---|
| Empty block | Display location or dependency | Is the block in the correct area, and are AdSanity and the add-on active? | Restore the last working instance or test on a clean page. |
| One ad is missing | Ad-record status | Publication, schedule, creative, external code | Fix or replace only the problematic record. |
| Old order | Ordered source or cache | The list in the block, widget, or ad_ids; then a private preview |
Save the correct list and refresh the relevant cache. |
| Uneven row | Dimensions and container CSS | Column count, area width, banner dimensions | Reduce columns or apply a targeted theme adjustment on a site copy. |
| Code appears as text | Content processor | Does the field support shortcodes? | Move the placement to a block or widget, or use an appropriate field. |
If the cause remains unclear after these checks, prepare a useful support request: WordPress and AdSanity versions, the placement method, reproduction steps, page type, cache information, and a screenshot of the public output without personal data. That is more useful than saying "the widget does not work" because it shows which layer has already been checked and where the expected order differs from reality.
Frequently Asked Questions About AdSanity Ordered Ad Group Widget
Can I use the add-on without AdSanity Core?
No. This add-on relies on base AdSanity because that is what creates and stores ad records, groups, schedules, and placement methods. If only Ordered Ad Group Widget is visible in the plugin list, restore active AdSanity Core first and check its sections in the admin dashboard. Do not try to replace the core plugin with a standalone shortcode or by copying add-on files into a theme.
How does a fixed order differ from an ad group?
A group helps organize ad records by meaning and can be used for regular output or rotation. An ordered set selects specific records and defines their relative positions. A group answers the question "which creatives are related," while ordered output answers "in what sequence should these creatives appear in this location." In practice, you can use both levels, but you should not expect a group alone to guarantee editorial order.
How do I add a managed row in Gutenberg?
After activating the add-on, the Ordered Ad Group Widget block becomes available in the AdSanity block section. Add it to a test post, select your prepared ads, save, and open the page preview. The block interface helps place the configuration in the context of an article, but the final appearance must be checked on the public site, where the theme CSS and actual container width apply.
Can I place the same set through a shortcode?
Yes. Official documentation describes the [adsanity_ordered] shortcode with ad_ids, num_columns, align, and optional max_width parameters. IDs are listed in the desired order. Make sure the selected WordPress field actually processes shortcodes, and do not leave a second instance of the same set nearby in a widget or block.
Why has one ad disappeared from the output even though it is in the list?
Check the status of that specific ad record: publication state, display dates, creative, link, or external code. An ordered configuration does not override the usual conditions that determine whether an ad is available. Next, build a temporary test set with the one suspicious item and check it on a closed page. If it does not render separately, the cause is not its position in the list.
Do all ads need to have the same dimensions?
No, but their dimensions need to work with the selected row and theme container. The add-on is especially useful for deliberately planned combinations of different formats. However, at a narrow width or in a sidebar, two different widths may look worse than one column. Check the real page first, then decide on the number of columns. Do not use a fixed order as a replacement for responsive layout.
Is the add-on appropriate for evenly rotating advertisers?
No. Its main purpose is manual order. For changing creatives over time or managing impression frequency, look at features and add-ons designed specifically for rotation or weighted output. The choice depends on your agreement with advertisers: a stable strip and variable rotation solve different problems and require different output checks.
Does ordered output affect SEO and site speed?
The order itself is not a search optimization tool and does not guarantee faster performance. Usability and loading are affected by the number of materials displayed at once, their file weight, external code, caching, and theme CSS. Use only as many ad positions as the layout justifies, prepare images at sensible sizes, and check the page as a visitor would. A stable sequence is primarily useful for editorial control and a clear user experience.
When AdSanity Ordered Ad Group Widget Is a Good Choice
This add-on is worth choosing when a WordPress site already has AdSanity advertising infrastructure and the team has a specific ordering rule for several ads. It works well for pairs and rows of differently formatted creatives, partner strips, sequential native offers, and campaigns where an editor needs to quickly promote or replace one position. A strong outcome comes not from the number of settings, but from discipline: ready records, a clear owner of the order, a tested display location, and verification after every replacement.
Before launching on a live page, make one final quick pass: are AdSanity and the add-on active, are all selected records published, does the order match the editorial rule, can the theme handle the column count, do the links lead to their intended destinations, and is the cache showing an old page? You can then download the latest version of AdSanity Ordered Ad Group Widget, install the add-on in a test environment, and move only a proven configuration to live pages.
Maintain the set as an editorial object rather than a one-time insertion. When a campaign ends, replace the specific ad record, save the managed list, and review the public page again. This small process preserves the add-on's main advantage: visitors see a meaningful sequence, and the team knows where and why it was defined.


