Marketing Channels - Query String (cid) vs. Tracking Code

jeff_bloomer 18-07-2018

I'm wanting to understand if there is a difference between the data I can collect for a Marketing Channel related to campaign tracking code.

The processing rules allow you to evaluate data coming from a query string parameter (e.g.,; or, I can also build my rule based on data in the Tracking Code.  Which is the better choice/best practice?


Accepted Solutions (1)

Accepted Solutions (1)


For the most part, the results would be the same.  However, I generally recommend that rules be set up to pull from as close to the source of truth as possible.  So, if Tracking Code is pulling from a query string parameter, the processing rule should also pull from the query string parameter.

The reason I like this approach is because, on occasion, you run into javascript errors and/or network nonsense that may prevent Tracking Code from being populated.  If your processing rules are dependent on the tracking code value, then they would also be blank when these issues occur.  In my experience with reviewing raw data for Marketing Channels, I generally see fewer of these anomalies when the query string parameters are used.  Again, we're talking about a very small percentage of traffic where this may apply.

There are some other considerations to keep in mind that may sway your decision to using the variable instead of the query string parameter.

  1. Marketing Channels Processing Rules are applied late in the processing funnel.  If you have a VISTA rule or Processing Rules that changes the value of tracking code for some reason, and you want to pass the changed value to marketing channels, then you would need to reference tracking code.
  2. If you are using getValOnce, or some other utility, that limits the passing of values from the query string to tracking code, then you may want to use tracking code so the same limitations are applied to marketing channels.

A few thoughts to consider.  I hope that helps

Answers (1)

Answers (1)

jeff_bloomer 19-07-2018

Totally makes sense to me.  I was actually reviewing the data flows mentioned above yesterday, and your recommendation of using the query string first makes the most sense for our mobile implementation.

Thanks for the clarification and same day turnaround!