Expand my Community achievements bar.

Webinar: Adobe Customer Journey Analytics Product Innovations: A Quarterly Overview. Come learn for the Adobe Analytics Product team who will be covering AJO reporting, Graph-based Stitching, guided analysis for CJA, and more!

Campaign, tracking code and query string parameter - should it be persistent?

Avatar

Level 2

in our adobe analytics we use query string parameter to define most of the channel rules. Unfortunately we made a logic mistake where it stated if query string does not contain "xyz" then set it to "social media organic". There were only a few strings set in that clause and so pretty much all traffic got classified to social media organic.

 

We were surprised though because we could see in the raw data from our data feed that sometimes the query string parameter was in the PAGE URL but the channel was being set to social media organic.

 

Looking at the CAMPAIGN field in the data field, which is the tracking code dimension, we can see that the channel gets reclassified for every hit were that is blank. 

 

Two questions;

 

  1. can and should that field be set as persistent so the tracking code/query string parameter is always referencing the most recent in a visit?
  2. the social media organic rule was fairly low down, position 6 and there are hits in a visit where the query string parameter from higher order rules is present but the channel is being wrongly classified as social media organic (the campaign field is blank). Why is it looking at the campaign field in these instances rather than the query string parameter?

many thanks in advance

10 Replies

Avatar

Community Advisor

So Marketing Channels and Campaigns are slightly different... Campaign only looks at your query strings, whereas Marketing Channel can look at many different dimensions (including Campaign, or just looking at the query strings directly - which I would recommend doing).

 

By default, Marketing Channels have a 30 Day Attribution, and Campaign has a 1 Week Attribution. These can both be changed to suite your needs... we set our Marketing Channels to 1 Week (7 Days), and left the Campaign as default... but even with that, we read our query strings directly in our marketing channel rules, just to be safe.

 

For your first question:

If you set your Campaign to HIT expiry, this would impact every hit... honestly, even if I didn't want 1 week/7 day attribution, I wouldn't go lower than Visit, otherwise it's not doing you much good... unless you are only trying to see your "direct entries" by campaign... but since that can be done by pairing your Campaign (Tracking Code) with the Tracking Code Instance metric, I would want to maintain the value to at least pair with any conversions that occur (either at the visit or 7 day attribution)... for the record, I set up a custom external campaign dimension for Visit... so I have the best of both worlds.... 

 

For your second question:

Without seeing all your rules, and how they might interact with one another this would be hard to help with. I would be happy to try and do a troubleshooting session with you some time if you want... 

 

Also, keep in mind, depending on your attribution, if you have been changing a lot of rules, incorrect channels that were determined before some of your changes will stay incorrect until the expiry is hit... when you have issues, and you make big changes, sometimes it's better to force a "reset" to start fresh with the updated rules.

Avatar

Level 2

Thanks! I've attached screenshots of them here. So they were setup before me and we haven't touched them much until that change 

 

In terms of query string parameter and campaign - should campaign theoretically be populated every time the query string parameter is present in the page url?

 

Another thing about query string parameter being used in the processing rules, there are obviously hits where the parameter is not present - usually every URL after the entry page. Once set after the initial hit in a visit, would there only be a new marketing channel instance if there was something else in the data triggering it?

 

We'll look into the campaign expiry

 

WhatsApp Image 2024-09-20 at 09.58.11.jpeg

WhatsApp Image 2024-09-20 at 09.58.32.jpeg

WhatsApp Image 2024-09-20 at 09.59.17.jpeg

WhatsApp Image 2024-09-20 at 10.00.00.jpeg

 

 

     

Avatar

Community Advisor

Hi,

 

So for Campaign. I noticed your processing rules are used query string s_cid. That may be what you are using, most people just use cid, but if it is s_cid you should be good

i.e. do you URLs have

?s_cid=xxxxx_xxxxx_xxxx

or

?cid=xxxxx_xxxxx_xxxx

 

If your param is really cid, that would cause some of your marketing channel rules not to fire, but if it is s_cid (which I will assume for now unless otherwise told) then that is fine.

 

 

Now, for tracking your campaigns, since CID should be external campaigns only, yes, they should be tracked every time they are present in the URL (if you have internal campaigns most people use a different query string icid - for "internal campaign", this is used on internal promos and such when users are already on your site and navigating around)

 

So let's look at an example (using standard 1 Week Attribution) of Campaign (Tracking Code):

 

Visit 1 - Direct Entry, no campaign

  • Page A
    • s.campaign is left empty
  • Page B
    • s.campaign remains empty

 

Visit 2 - Campaign X

  • Page C (url has ?s_cid=x)
    • s.campaign is set to "X"
  • Page D (url has no campaign)
    • s.campaign remains "X" due to 1 week attribution

 

Visit 3 - Two days after Visit 2, No Campaign

  • Page E
    • s.campaign remains "X" due to 1 week attribution
  • Page F
    • s.campaign remains "X" due to 1 week attribution

 

Visit 4 - One Day after Visit 3, Campaign Y

  • Page G
    • s.campaign is set to "Y"
  • Page H
    • s.campaign remains "Y" due to 1 week attribution
  • Conversion Triggered
    • Conversion should be attributed to "Y"

 

Visit 5 - Six Days after Visit 4, Multiple Campaigns

  • Page I - coming from Social Media with Campaign Z
    • s.campaign is set to "Z"
  • Page J
    •  s.campaign remains "Z" due to 1 week attribution
  • Conversion Triggered
    • Conversion should be attributed to "Z"
  • User gets a newsletter during the session, with campaign W
  • Page K - clicks on Newsletter link
    • s.campaign is set to "W"
  • Conversion Triggered
    • Conversion should be attributed to "W"

 

    Page Views Visits Tracking Code Instance Conversions
Campaigns   11 5 4 3
  Unspecified 2 1 0 0
  X 4 2 1 0
  Y 2 1 1 1
  Z 2 1 1 1
  W 1 1 1 1

 

You can see that the attribution carries the value forward 7 days, but that 7 days resets for each value passed.... The "instance" of the tracking code is where the s_cid exists, when it exists, the value is explicitly set; and if the visit has multiple entries to the site, both of those will be recorded (Your marketing channels should do that as well).

 

The "last seen" campaign (at the time of the conversion) is attributed to the conversion, so in the case of Visit 5 with 2 conversions at different points in the journey are attributed to different campaigns.

 

 

Your Marketing Channels work just like the above, except they normally take more than the campaign into consideration... they would look at referrers, search engine detections, etc to apply more complex rules... and again, they should have an attribution... Without that attribution, as soon as the use navigates to another page, you will lose the information about the campaign (which it sounds like you might be getting in your Tracking Code....)

 

For Marketing Channel, it depends on the rules... there is usually a rule to catch "direct" traffic (i.e. no campaign query string), but this should be paired with "first page of visit" to ensure it doesn't override your other rules once the user navigates... there is also a setting in the Marketing Channel Manager that says to "not override Last Touch Channel":

 

Jennifer_Dungan_0-1727109180426.png

 

 

This means that in this scenario, the more specific channel will be maintained (and internal navigation won't break your channels either):

 

Visit 1 - Paid Search

  • Page A - s_cid=something_paid_othervalue 
    • Marketing Channel set to "paid search"
  • Page B (no query string)
    • Marketing Channel remains "paid search" (not first page of visit, and within attribution period)

 

Visit 2 - Direct

  • Page C
    • Marketing Channel remains "paid search" (it's within the attribution period, and direct should not override an explicit channel)
  • Page D
    • Marketing Channel remains "paid search" (not first page of visit, and within attribution period)

 

 

Now, looking at your current rules... there are definitely some issues....

 

First Rule:

Jennifer_Dungan_1-1727109615043.png

 

I don't think you need 3 here, it should already be covered by 1, also, depending on the attribution this might be overriding something else... a marketing rule that doesn't depend on cid values... your 1 week attribution of your Campaigns code might still have the value, but the Marketing Channel might supposed to be something like Organic Search or Organic Social (which have no campaigns). 

 

Also, the URL contains gclid here is yes, a "paid search", but if someone forgot to add s_cid, your Marketing Channel Details may be blank (4).  I would actually suggest splitting into 2 rules... both that identify as "paid search", but one that looks for you s_cid (and sets the details for that) (keep this as the first rule), then make a rule for gclid that falls underneath it (also note that gclid is a query string param, so while the "Page URL contains" technically works, I would make this a more specific check for "Query String Parameter gclid exists", and set your channel's value to the gclid param... 

 

Next Rule, Natural Search... make sure you have checked your configurations for Paid Search are properly configured. See Admin > Report Suites > (choose suite) > Edit Settings > General > Paid Search Detection

 

Next, your rules for "Email".. unless people constantly forget to add proper campaigns to the links in your emails, I don't think that you really need to list all those referrers... also, this won't cover desktop emails applications, or any email applications not listed here... it's best to ensure your emails are properly tagged and remove some of these complications. However, if you wish to keep these, I don't think it will interfere with anything... it's just more of a headache to manage and still won't capture everything... 

 

 The other rules are looking good from my scan... 

Avatar

Level 2

Thanks! 

 

Your thinking tallies with mine so that's good.


The one thing that's not making sense is that the campaign field seems to be getting dropped within a visit - like after a set of initial visits. Anything you think could be causing this?

 

Thanks again

Avatar

Community Advisor

I would check Admin > Report Suites > (choose suite) > Edit Settings > Conversion > Conversion Variables

 

The first item is your campaign variable (s.campaign, v0, Tracking Code, etc)

Jennifer_Dungan_0-1727113878979.png

 

Check your Expire After here?

Avatar

Community Advisor

Hmm and you are sure that the value is being lost during the same visit? 

Avatar

Level 2

Yes, definitely. The campaign field goes blank quite early on in the visit. there doesn't seem to be a specific hit which causes it.

 

I'm wondering if the tracking code implementation is off?

Avatar

Community Advisor

It's possible... but passing a "blank" value should be treated the same as the field not being there at all... unless somehow it's passing an invisible character? So it's not treated as a blank / empty field, but it's also not recognized but Adobe when it's pulling the reports???

 

I really wish the "show post-processed data" was working on the debugger so that you could run a test and see when the information gets lost....

Avatar

Level 2

We used the raw data from the Data Feeds to have a look, we'll have to figure out what could be causing it!