How to Transfer Tags from Ads to Ad Comments via Rules

Updated 

Get more insights into what people are saying about your products and prevent negative sentiments on your posts.

Social networks are the most influential medium for finding inspiration for purchases. However, negative reviews stop 40% of buyers from wanting to use a business, causing a decrease in demand for their products.

Most users start their purchase journey by checking others’ opinions. If they see many negative comments, they start to look for an alternative product. That’s why it’s so important to monitor comments under your ad posts and moderate them. Without doing so, you can lose not only the money invested in your Paid Initiatives but also potential customers. Plus, negative comments affect the overall brand reputation.

But Moderating comments on ads is not easy; responding to each comment is a very tedious process. This is where Sprinklr's comment moderation comes into play and helps you automate the process of detecting negative reviews and comments, helping you moderate them as needed.

Use Cases for Transferring Custom Fields

This article will explore how you can enrich your ad comments with ad Custom Fields, so that you can:

  • Help idenitfy which Paid Initiatives a comment originated from

  • Filter Engagement Dashboards by the ad Custom Fields

  • Help assign messages to the appropriate teams, i.e. by brand, country, or product.

Transferring Custom Fields via Rules

Internal Note: The configuration below can be set up by importing the "Ads Use Case | 8-2" Blueprint through Hyperdrive. Replace the "Ad Comment Placeholder" Custom Field with the relevant Field in each Rule.

The first step is to create a Custom Field with all assets (where you need the tags) selected.

  • Ad Variant, Ad Set or Paid Initiative asset class - required to apply the Custom Field on at least one Ad level.

  • Message asset class - required to copy CF from Ads to Inbound Messages

  • Case asset class - required to copy CF from Inbound Messages to Cases (if applicable)

Add the Values required for the Field, configure the other settings (such as visibility) as required then save the field.

Ensure that the Custom Field is applied to the Ads you want to monitor comments from, or it will not be able to transfer to the Inbound Messages. This can be done in several ways:

  • Manually while building the ads in Ads Composer or Ads Manager (you may want to make the Field Mandatory so it isn't missed)

  • By Paid Pre Publishing Rules while building the ads in Ads Composer

  • Manually while editing the ads in Ads Manager

  • By Paid Rules after the Ad is Published

  • Historic Ads can be tagged with Macros or Partial Imports

Paid Rules can be used to transfer Custom Field Values from the Ad Variant level to the Outbound Message level using the action "Map Ad Variant Custom Field Values to Post".

Note: if you cannot see this action available in Paid Rules, please reach out to your Success Manager.

Since values can only be mapped from the Ad Variant level if you have applied the Field at Paid Initiaitve or Ad Set level, they can be mapped down to Ad variant level by Paid Rules:

Set up the following Message level Customer Queues and make sure they are shared with the appropriate User Groups:

Queue Name

Queue Description

Hold Time

Ad Comments: Tag Transfer 1

Contains ad comments waiting to be tagged (first attempt). Any messages not tagged after this will be sent to the next (2/3) Queue below.

10 mins

Ad Comments: Tag Transfer 2

Contains ad comments waiting to to be tagged (second attempt). Any messages not tagged after this will be sent to the next (3/3) Queue below.

15 mins

Ad Comments: Tag Transfer

Contains ad comments waiting to be tagged (third attempt). Any messages still not tagged after this will be sent to the "Ad Comments Untagged due to Untagged Parent" and "Ad Comments Untagged Hold" Queues below.

25 mins

Ad Comments: Untagged Parent

Contains ad comments that have not been tagged due to the parent post not being tagged at the outbound level. If the outbound post gets tagged within a certain time period the message will be sent back into the first attempt Queue, otherwise sent to the Failed Queue below.

4 hours

Ad Comments: Untagged Hold

A backup Queue in case the volume of untagged messages becomes too high.

1 day

Ad Comments: Tag Transfer Failed

Contains ad comments that have waited for too long to be tagged, and were hence removed from the other Queues to reduce load.

-

Ad Comments: Tag Transfer Successful

Contains ad comments that have been successfully tagged.

-

Ad Comments: Tag Transfer Not Possible

Contains ad comments from PAC / LAC / LocAC ads where tag transfer is not possible

-

Notes

  • "Ad Comments" refers to inbound copies of posts used in ads, comments on those posts and replies to those comments.

  • "Tagged" is short hand for "had the custom field values from the parent ad variants copied to the inbound message".

  • There are 3 "Waiting to be Tagged" Queues by default to handle very large volumes of ad comments. Smaller brands may only need 1 such Queue.

  • If you want to transfer multiple Fields, these Queues will be needed for each Field. Your Success Manager can help you set this up quickly via the Configurator.

An Inbound Rule can be used to transfer the paid Custom Fields to the Inbound Message level. Note that this will only work for ads made from boosted posts that were published in Sprinklr, and won't cover dark post ads.

  1. Go to Rule Engine > Customer > Inbound > Create New Rule

  2. Give the Rule a name, such as "Copy Properties from Paid Initiatve to Inbound Message" and add it to a suitable Batch (ideally "Message Enrichment")

  3. Add an initial condition if desired, such as filtering by Channel or Account

  4. Add an action and go to "

    Copy properties from source to destination".

    1. Choose Paid Initiative (or Ad Set or Ad Variant) as the Source

    2. Choose "Self Inbound Message" as the Destination

    3. Choose the paid Custom Field, the operator (set, set if absent, merge) and the inbound Custom Field (ideally the same one)

As an alternative to using a copy action, create a condition-action tree to set values of the Custom Field individually.

  • In Conditions, go to "Conditions for Paid Entities" and select the relevant Paid Initiative / Ad Set / Ad Variant Custom Field, the operator (Is, Is Not, Is Empty) and the Value

  • In Actions, go to "Change properties of Message", select the Custom Field, the operator (set, Set if absent, unset, merge or remove) and the Value.

  • Finally, save and Enable the Rule.​

Note: TikTok Videos vs TikTok Authorized Posts

When boosting a TikTok post, there will be the original organic post (the "TikTok Video") and a duplicate ad post (the "TikTok Authorized Post").

If the ad gets comments, the messages will be attached to the TikTok Video only. Outbound Fields applied to one version of the post will now be copied automatically to the other version.

For dark post ads, the outbound post will not normally be ingested to Sprinklr until the first comment is made on the post. This can cause delays in tagging but this can be solved for by using a equence of Inbound and Queue Rules. This is the setup for the first Inbound Rule:

  • First, check if the message is from a PAC ad by seeing if there is any associated ad variant name:

    • If it is, tag transfer is not possible. Add it to "Ad Comments: Tag Transfer Not Possible" Queue and remove it from all other ad comment tagging queues

    • If it isn't from a PAC ad, check if the outbound field is tagged.

  • First, check if the Outbound Field is empty:

    • If it is, no tag transfer can happen. Add the message to the "Ad Comments: Tag Transfer 1" Queue

    • If it isn't Empty, check if the Inbound Field is empty

  • If the Inbound Field is not empty:

    • Add the message to the "Ad Comments: Tag Transfer Sucessful" Queue

    • Remove the message from the "Ad Comments: Tag Transfer 1" Queue

  • If the Inbound Field is empty, check if the post is from the Brand or a Fan:

    • If the message is from the Brand, do a copy action from the Post to the Self Inbound Message

    • If the message is from a Fan, do a copy action from the Parent to the Self Inbound Message

  • Check if the Inbound Field is still empty:

    • If yes, add the message to the "Ad Comments: Tag Transfer 1" Queue

    • If Service is enabled, also trigger the rule to run via Scheduler Engine

Name​

Type​

Section​

Entity​

Operator​

Value​

Connections​
Message associated with an ad?
Condition
Conditions for Paid Entities
Ad Variant Name
REGEX
([A-Za-z0-9]*)+
Yes, Is Outbound Field Tagged?
No, Ad to Not Possible Q
Ad to Not Possible Q
Action

Assign a message to a User / Queue

Add to Partner Queue

Ad Comments: Tag Transfer Not Possible: Field

-
Assign a message to a User / Queue
Remove from Partner Queue
-

Ad Comments: Tag Transfer 1: Field

Ad Comments: Tag Transfer 2: Field

Ad Comments: Tag Transfer 3: Field

Ad Comments: Tag Transfer Failed: Field

Is Outbound Field Tagged?
Condition
Messages related to Brand Posts
CF: OB: Field
IS EMPTY
-
No, Is Inbound Field Tagged?
Yes, Add to Waiting to be Tagged Q
Is Inbound Field Tagged?
Condition
The properties of the Message
CF: OB: Field
IS EMPTY
-
No, Add to Success Q
Yes, Post is from Brand
Add to Success Q
Action

Assign a message to a User / Queue

Add to Partner Queue

-

Ad Comments: Tag Transfer Successful: Field

-

Assign a message to a User / Queue

Remove from Partner Queue

-

Ad Comments: Tag Transfer 1: Field

Post is from Brand
Condition
The properties of the Message
Post Type
IS
Brand Post
No, Message is from Fan
Yes, Copy Field from Post to Self Inbound Message

Message is from Fan

Condition

The properties of the Message

Post Type

IS

Fan Post

Yes, Copy from Post to Message
Copy Field from Post to Self Inbound Message
Action
Copy properties from source to destination

Copy Action Source

SET

Post

Next, Check if Field is Still Empty

Copy Action Destination

SET

Self Inbound Message

CF: OB: Field

SET

Partner CF:Message:Field

Copy from Post to Message
Action
Copy properties from source to destination

Copy Action Source

SET

Post

Next, Copy Field from Parent to Self Inbound Message

Copy Action Destination

SET

Self Inbound Message

CF: OB: Field

SET

Partner CF:Message:Field

Copy Field from Parent to Self Inbound Message
Action
Copy properties from source to destination

Copy Action Source

SET

Parent

Next, Check if Field is Still Empty

Copy Action Destination

SET

Self Inbound Message

CF: OB: Field

SET

Partner CF:Message:Field

Check if Field is Still Empty

Condition

The properties of the Message

CF: OB: Field

IS EMPTY

-

Yes, Add to Waiting to be Tagged Q

Add to Waiting to be Tagged Q

Action

Assign a message to a User / Queue

Add to Partner Queue

-

Ad Comments: Tag Transfer 1: Field

-

Any ad comments that are still untagged can be sent through 3 versions of this Queue Rule:

  • First, confirm that the message is untagged:

    • If it is tagged, remove from the "Ad Comments: Tag Transfer 1" Queue and add to the "Ad Comments: Tag Transfer Successful" Queue

    • If it is not tagged, check if it is an ad comment or not (i.e. if the Paid Status is Paid)

      • If the message is an Ad Comment, check if the post is from the Brand or a Fan:

        • If the message is from the Brand, do a copy action from the Post to the Self Inbound Message

        • If the message is from a Fan, do a copy action from the Parent to the Self Inbound Message

      • If the message is not an Ad Comment, remove from the "Ad Comments: Tag Transfer 1" Queue.

  • Then check if the Inbound Field is still empty:

    • If it is tagged, remove from the "Ad Comments: Tag Transfer 1" Queue and add to the "Ad Comments: Tag Transfer Successful" Queue

    • If it is untagged, check if it has been waiting in the Queue for more than 10 minutes*:

      • If yes, add the message to the "Ad Comments: Tag Transfer 2" Queue and remove from "Ad Comments: Tag Transfer 2" Queue

*The time in the second attempt is 15 minutes and the third attempt is 25 minutes.

These Queue Rules each have a time-agnostic Trigger, which checks for messages in their respective "Ad Comments: Tag Transfer n" Queue and runs every 5 seconds.

Name​
Type​
Section​
Entity​
Operator​
Value​
Connections​

Source Queue is "Ad Comments Waiting to be Tagged"

Condition

The source of the Message

Partner Queue

IS

Ad Comments: Tag Transfer 1: Field

Yes, Field is empty?

The source of the Message

Partner Queue Assignment Time Duration

0 Seconds

Field is empty?

Condition

The properties of the Message

CF: Message: Field

IS EMPTY

-

Yes, Paid Status Check

No, Remove from "Ad Comments Waiting to be Tagged" Q

Paid Status Check

Condition

The properties of the Message

CF: Message: Paid Status

IS

Paid

Yes, Post is from Brand

No, Remove from "Ad Comments Waiting to be Tagged" Q

Remove from "Ad Comments Waiting to be Tagged" Q

Action

Assign a message to a User / Queue

Remove from Partner Queue

-

Ad Comments: Tag Transfer 1: Field

-

Add to Partner Queue

-

Ad Comments: Tag Transfer Successful: Field

Post is from Brand

Condition

The properties of the Message

Post Type

IS

Brand Post

No, Message is from Fan

Yes, Map Properties from Outbound Post to Self Inbound Post

Map Properties from Outbound Post to Self Inbound Post

Action

Copy properties from source to destination.

Copy Action Source

SET

Post

Next, Check if Field is Empty

Copy Action Destination

SET

Self Inbound Message

CF: OB: Field

SET

CF: Message: Field

Message is from Fan

Condition

The properties of the Message

Post Type

IS

Fan Post

Yes, Copy Fields from Post to Inbound

No, Remove from "Ad Comments Waiting to be Tagged" Q

Copy Fields from Post to Inbound

Action

Copy properties from source to destination.

Copy Action Source

SET

Post

Next, Map Properties from Parent Post to Comment

Copy Action Destination

SET

Self Inbound Message

CF: OB: Field

SET

CF: Message: Field

Map Properties from Parent Post to Comment

Action

Copy properties from source to destination.

Copy Action Source

SET

Parent

Next, Check if Field is Empty

Copy Action Destination

SET

Self Inbound Message

CF: Message: Field

SET

CF: Message: Field

Check if Field is Empty

Condition

The properties of the Message

CF: Message: Field

IS EMPTY

-

No, Remove from "Ad Comments Waiting to be Tagged" Q

Yes, Waiting more than 30 Mins?

Waiting more than 30 Mins?

Condition

The source of the Message

Partner Queue
Assignment Time Duration

10 Minutes

Yes, Add to Wait Queue 2

Partner Queue

IS

Ad Comments: Tag Transfer 1: Field

Add to Wait Queue 2

Action

Assign a message to a User / Queue

Add to Partner Queue

 

Ad Comments: Tag Transfer 2: Field

-

Remove from Partner Queue

 

Ad Comments: Tag Transfer 1: Field

The third version of the Queue Rule as described in the section above has an extra condition and different final action:

This checks if the Parent Outbound Post is empty; if yes then it removes such messages from the final "Ad Comments: Tag Transfer 3" Queue and adds them to the "Ad Comments: Untagged Parent" and "Ad Comments: Untagged Hold" Queues.

There is a final Queue Rule that looks at messages in these queues:

  • First, check if the message has been in the "Ad Comments: Untagged Parent" Queue for at least one hour

  • If yes, check if the Outbound Field is empty:

    • If no, add the message back into the Queue "Ad Comments: Tag Transfer 1" and remove from the "Ad Comments: Untagged Parent" and "Ad Comments: Untagged Hold" Queues

    • If yes, check if the message has been in the "Ad Comments: Untagged Hold" Queue for more than 4 hours

      • If yes, add the message to the "Ad Comments: Tag Transfer Failed" Queue and remove from the "Ad Comments: Untagged Parent" and "Ad Comments: Untagged Hold" Queues

Use these Triggers:

  • This forces the Queue rule to run once an hour for messages where the parent post is not tagged at the Outbound Level.

  • This is needed because the outbound post is only pulled into Sprinklr after the first message is made on the post, and the Paid rules to transfer tags from ad Variant to Outbound only run every 30 minutes.

  • If the "Ad Comments: Untagged Parent" Queue gets too full, the tigger will overload and stop running.

  • This acts as a final backup and runs once a day to empty the empty the "Ad Comments: Untagged Parent" & "Ad Comments: Untagged Hold" Queues.

Note: Enable the Rules described above in this order:

  1. Paid Rules

  2. Triggers on Queue Rules

  3. Queue Rules

  4. Inbound Rules

If you use Cases, create an Inbound Rule to copy the Custom Field from Self Inbound Message to Case. A single action should suffice.

Alternatively, this can be done in Queue and Case Update Rules.

Limitations

Tag Transfer will not work for:

  • Placement Asset Customization Ads

  • Location Asset Customization Ads

  • Dynamic Ads

Outbound Fields cannot be applied on:

  • Dark Post Ads where no comments have been made

  • Messenger / Conversation Ads

  • Channels such as Snapchat where there is no concept of a Post

Note: You can use Triggers in Sprinklr Social Rule Engine to tag existing Posts and Comments. This capability allows you to apply a rule on existing/past data. For more information, see Rule Triggers.