Written by James BrittTechnically reviewed by Jim Freeze · Reviewed
Suppose customer support sends a ticket to your team because a promotional code no longer works. You check the code and find that it was valid six months ago. Your company has stopped marketing the offer. However, a search ad created by an affiliate continues to advertise the discounted offer.
At this point, your task is to find the advertiser and locate the affiliate agreement. Capture a copy of the ad while it is active.
Complaints like this can be difficult for a Rails team to investigate. Much of what happened took place before the customer visited your site. Your app’s logs may help trace activity at checkout, but they will not indicate what promise an advertiser made to the customer.
Where Bluepear Fits Into the Rails Business
Bluepear defines itself as providing search monitoring of branded keywords across multiple geographies and devices to identify brand bidding and ad hijacking. Published features of Bluepear include alerts, ad data, affiliate links, screenshots of search results and landing pages, and custom reports.
A screenshot may help explain why support personnel continue to get asked about offers that were never approved by your company. Attach that screenshot to the customer’s ticket.
The development work depends on your team’s size and needs. Simply attaching a report to an existing ticket may be sufficient. If you manage many affiliates, you may wish to create an internal Rails screen that correlates findings with relevant partner records.
Prior to developing an automated import of the report, ask the vendor what integration options are available. The following workflow is a suggestion for your own application.
Questions Your Team Must Answer
Identifying questionable ads is only the first step. There must be a definition of what the affiliate was allowed to do. Document the rules for each program and market prior to processing the alert queue.
For a Rails app with subscriptions or online checkout, start with the following questions:
- Is the discount listed in your application’s promotion records?
- Is the affiliate permitted to bid on your company’s name?
- Does the destination URL match an approved domain?
- Is the discount available in the country in which the ad ran?
- Do the product and price on the landing page align with the checkout?
Any unfamiliar domains warrant further review. Domains belonging to approved agencies or tracking services may be legitimate. Keep the case open pending a reviewer’s confirmation.
Developers can assist here by making internal records easier to access. If support must ask a developer about every coupon dispute, provide staff with a promotion lookup in the admin area.
Create a Record for Each Finding in Rails
Suppose you choose to create a review screen. A basic Rails model can capture the search term, observed domain, country, device type, observation time and a reference to supporting evidence. When possible, link this to an affiliate record.
You may not know who placed the ad. Allow the affiliate field to remain empty until a reviewer identifies the partner.
Include several typical workflow fields: status, assigned reviewer, comments and resolution time. Separate the observation time from the time your app received the record. A report uploaded today may detail an ad viewed last week.
Also consider duplicate records. If someone imports the same report twice, you do not want two active cases for every row. Use a stable source identifier when available to recognise previously imported findings.
The benefit of this review screen in Rails is connecting captured ads with business records staff already use. A reviewer should be able to navigate from a captured ad to the relevant permissions and promotion details without asking three colleagues where these records are kept.
Process Larger Imports in the Background
When using a reporting method that allows for importing data, larger files can be processed in the background. Rails provides a framework for queued jobs through Active Job.
A staff member could upload a supported report and allow a job to validate the rows before creating review records. Display whether the import is running, completed or failed. Staff should be able to see whether their upload successfully created new records.
Consider retries during development. Assume a job creates half the records and then fails. Running the job again must not duplicate these records or send the same notifications to reviewers twice.
Manual uploads are a suitable starting point. After staff have used the review process for a while, you will better understand which steps may be worth automating.
Determine Who Acts on the Evidence
Dima Raketa wrote in Forbes about the gap between purchasing a monitoring system and getting value from it. People receiving the information still need the ability to act on it.
Within your Ruby team, agree who owns each type of investigation. Engineering can inspect a promotion record or verify a redirect on the company’s site. An affiliate manager can examine the partner’s permissions. Support can explain the actual offer to the customer.
Keep the outcome with the original finding. Was the ad removed? Had the affiliate been given permission? Did an employee forget to end an old campaign?
These details matter when the next complaint arrives. They help prevent reviewers from repeating work that another person has already completed.
Keep the Security Context Clear
The term search abuse describes different problems. In their write-up on search engine abuse in popular social networks published in 2019, Mazin Ahmed and Khaled Farah discussed manipulation of users’ search histories. This involved a different mechanism from misleading affiliate ads.
This distinction helps Rails developers identify who should handle an issue. Security investigations are required for vulnerabilities within applications. Disputes over expired discounts offered by affiliates require a review of the advertising and partner agreements.
Both issues can harm customers. Each requires different evidence and may need a different person to handle the investigation.
Start With a Complaint You Already Recognise
Coupon complaints are a suitable starting point if they regularly reach your support queue. Other potential areas include unexpected affiliate referrals or customers arriving with incorrect offers in mind.
Capture the external evidence, compare it with the relevant Rails records and assign the case to someone who can resolve it. Follow the process over several reviews before building more automation.
Bluepear can supply search monitoring evidence. An internal Rails screen can connect that evidence with your business records and give staff somewhere to document decisions and follow-up actions.
