CAP-5022

Inform the user about accomplished campaign structuring

Description

Camato should inform the user about accomplished and successful update of campaign structures by providing Active Stream messages.

This serves several needs:

  • User is informed when the last structuring happened 
  • After an error is resolved, the user is informed that the previously reported issue was resolved.
  • Provides a feedback to user that Camato is actively managing AdWords campaigns (and is not idle)
  • More positive (in this case more neutral) Camato messaging

Title Text

The gewgaw url from where it is fetching the events

Activity Stream

What is gewgaw?

A simple service with a REST-API that serves as central point to publish and query for events that are relevant from a domain perspective.

When to notify GewGaw?

  • When traffic_director(td) is able to successfully change the campaign structure from actual to desired.

Traffic Director

  1. A gem or plugin which is responsible to direct traffic via changes to an adwords account. 
  2. It takes in user-supplied options as well as reporting output from the data service (data team), calculates the changes and instruct AccountUpdater to perform these changes in the adwords account(bing, google adwords).
  3. This process is initiated by Bishop.

Td run outcomes

  1. Success
  2. Partial Success: If there is an unknown error in Adwords or server error(commonly Adwords api error since its a remote service). Following are the reasons
    1. Token is invalid
    2. Entity was touched during TD run
    3. Operation limit in Adwords was exceeded
    4. Access issue - TD was not allowed to do change
  3. Failure
    1. This is simply a failure happening in the very start of the TD run

Bishop initiates TD as a background Job

At workers/traffic_director.rb here

Requirement

Version 1

1. Just let the user know that Camato successfully updated the campaign structure.

Version 2 (initial estimate with v1 in place: 5SP) 
2. Let the user know how Camato updated the campaign structure by providing a short summary:

  • which Campaigns were affected
  • how many product groups were added or removed
  • (optionally) combine with the message that provides an update about new brands / product types (example: "22 new brands have been added to your campaign structure.")

1. Bishop logs the run of traffic_director here

2. Sample logs of Traffic director here

3. Campaigns are created here at traffic director.

4. Updates get applied to the adwords account here.

Draft version of solution

Important References

We can have a notify mechanism in bishop such that the notification of the successful account update can be notified through gewgaw.

Questions

1. Need to figure out how bishop connects to gewgaw as currently bishop uses crealytics-logger gem to log but i cannot find the repository on github.

2. If we need to separately connect to gewgaw then we need to work out for the design of the code such that on each requirement completion, gewgaw gets the notification.

deck

By Ahmad Hamza

deck

  • 582