Pass table (rows) data into Adobe Analytics | Community
Skip to main content
DineshRkumar
Level 3
September 24, 2025
Solved

Pass table (rows) data into Adobe Analytics

  • September 24, 2025
  • 3 replies
  • 1098 views

Hi All, how can we pass below table data into Adobe analytics in single image beacon. Assuming row count is 20. I am thinking about using list variable, not sure will it work or not.

SubjectUT1UT2UT3UT4
Sub110203040
Sub210203040
Sub310203040
Sub410203040
Sub510203040

 

Best answer by Jennifer_Dungan

Hi @dineshrkumar,

 

I suppose the final usage of the data will help drive the solution...  I have solutions that use the s.products variable, and I have solutions that use Lists.

 

First, in your samples, I see you have a lot of your data showing numeric values (i.e. 10 or 20)... are these values that you need a dimension (i.e. text value of "10"), or do they need to be actual numeric values, where you need to use custom events?

 

If these are all good as dimension values, then you can use lists... passing each row as a list item, then using "sub-delimiters" and setting up classifications.

 

So for instance:

s.list1 = "sub1:10:20:30:40,sub2:10:20:30:40,sub3:10:20:30:40";

 

Your list would be set to delimit on comma (,) so you would then end up with data in Adobe that looks like:

  • sub1:10:20:30:40
  • sub2:10:20:30:40
  • sub3:10:20:30:40

 

Next, you would need to configure 5 classifications (Subject, UT1, UT2, UT3 and UT4)

 

Using Regex, you can then split the content into each of your classifications, something like:

/(.*):(.*):(.*):(.*):(.*)/g

 

And setting your Subject classification to $1, and your UT1 classification to $2, etc

 

This also assumes that ALL values are passed on each instance.

 

Unfortunately, Adobe Analytics doesn't support flat tables, so you would need to do breakdowns to get the correlation between the Subject and each UT classification.

 

 

 

Now, if you need those values to be numeric values, and I assume the values will change per item (they won't all be 10 or 20, etc... that was just a simple copy/paste example; then the only solution is to use s.products and numeric merchandising events, so that each item can maintain it's own counter correlation.

 

So, in my examples, I use Products for like 20 different things, so I like to use the Product Category to denote the usage. Products notation would look something like:

 

s.products = "table;sub1;;;event1=10|event2=20|event3=30|event4=40,table;sub2;;;event1=10|event2=20|event3=30|event4=40,table;sub3;;;event1=10|event2=20|event3=30|event4=40"; s.events = "event1,event2,event3,event4";

 

Events 1-4 need to be configured to be "numeric" instead of counter (even if you only ever passing 1, if you don't make it numeric, then the correlations get mucked up).

 

You don't need classifications in this scenario... all your "table" category products will have an isolated metric per product, and you can build out a table in Adobe like so:

 

    Event 1 Event 2 Event 3 Event 4
Category   30 60 90 120
table   30 60 90 120
  Products 30 60 90 120
  Sub1 10 20 30 40
  Sub2 10 20 30 40
  Sub3 10 20 30 40

 

3 replies

Isha Gupta
Community Advisor and Adobe Champion
Community Advisor and Adobe Champion
September 24, 2025

Hi @dineshrkumar ,

 

Sharing my thoughts on this -

List vars can work if you would concatenate each row into one field object using a delimiter and then passing the individual fields in listVar using a separate delimiter. You can then run classification on it.

 

Also, are you using products variable in your current implementation? I think using that could be a potential solution. You can pass each row as different fields of product variable and go from there. I haven't done it myself but I remember reading about some implementation where s.products variable was being used in non-commerce context like this one.

 

Best,

Isha

pradnya_balvir
Community Advisor
Community Advisor
September 24, 2025

Hi @dineshrkumar ,

 

Adobe Analytics beacons (image requests) have limitations - you can only pass key-value pairs in query strings. So trying to pass a whole table (20 rows × 4 columns) in one beacon.

A list variable can work if you just need to capture all values together (not row-by-row reporting).

If you need row-level granularity in reporting, then multiple beacons are the only scalable solution.

 

Image Beacon Example (list var approach)

<img src="https://yourcompany.sc.omtrdc.net/b/ss/yourRSID/1?pe=lnk_o
&pev2=tableData
&list1=Sub1:10|Sub2:10|Sub3:10|Sub4:10|Sub5:10
&list2=20|20|20|20|20
&list3=30|30|30|30|30
&list4=40|40|40|40|40
&c1=WebsiteTableCapture
&v1=TableTrackingExample
" width="1" height="1" border="0" />

 
  • list1 → Subject + UT1 values (Sub1:10|Sub2:10|...)
  • list2 → UT2 values (20|20|...)
  • list3 → UT3 values (30|30|...)
  • list4 → UT4 values (40|40|...)
  • c1 / v1 → Just examples (custom prop/eVar for context like “Table Data Capture”)
For 20 rows, you just keep appending values with the delimiter |.
Example
 
&list1=Sub1:10|Sub2:10|...|Sub20:XX
 
List vars support ~250K characters, so 20 rows is fine.
If your reporting needs row-level metrics inside Adobe Workspace, it’s better to send 20 separate beacons (1 per row).
 
Thanks.
Pradnya
Jennifer_Dungan
Community Advisor and Adobe Champion
Community Advisor and Adobe Champion
September 24, 2025

@pradnya_balvir  there are only 3 list variables, so your suggestion won't actually work... (there is no s.list4) and the suggestion to send 20 different beacons is inefficient and is going to get really expensive, since our contracts are all based on number of server calls... 

 

If you look at my list example, you will see that it's actually possible to send the data in a single list, using Classifications to split up the data... 

 

You are right that there are limits to how much data can be sent at a time... I know I've probably sent over 2K characters without issue (as long as each list item itself is under 255 characters, I haven't had a problem)... but this use, depending on the size could be huge depending on a lot of factors... 

Jennifer_Dungan
Community Advisor and Adobe Champion
Jennifer_DunganCommunity Advisor and Adobe ChampionAccepted solution
Community Advisor and Adobe Champion
September 24, 2025

Hi @dineshrkumar,

 

I suppose the final usage of the data will help drive the solution...  I have solutions that use the s.products variable, and I have solutions that use Lists.

 

First, in your samples, I see you have a lot of your data showing numeric values (i.e. 10 or 20)... are these values that you need a dimension (i.e. text value of "10"), or do they need to be actual numeric values, where you need to use custom events?

 

If these are all good as dimension values, then you can use lists... passing each row as a list item, then using "sub-delimiters" and setting up classifications.

 

So for instance:

s.list1 = "sub1:10:20:30:40,sub2:10:20:30:40,sub3:10:20:30:40";

 

Your list would be set to delimit on comma (,) so you would then end up with data in Adobe that looks like:

  • sub1:10:20:30:40
  • sub2:10:20:30:40
  • sub3:10:20:30:40

 

Next, you would need to configure 5 classifications (Subject, UT1, UT2, UT3 and UT4)

 

Using Regex, you can then split the content into each of your classifications, something like:

/(.*):(.*):(.*):(.*):(.*)/g

 

And setting your Subject classification to $1, and your UT1 classification to $2, etc

 

This also assumes that ALL values are passed on each instance.

 

Unfortunately, Adobe Analytics doesn't support flat tables, so you would need to do breakdowns to get the correlation between the Subject and each UT classification.

 

 

 

Now, if you need those values to be numeric values, and I assume the values will change per item (they won't all be 10 or 20, etc... that was just a simple copy/paste example; then the only solution is to use s.products and numeric merchandising events, so that each item can maintain it's own counter correlation.

 

So, in my examples, I use Products for like 20 different things, so I like to use the Product Category to denote the usage. Products notation would look something like:

 

s.products = "table;sub1;;;event1=10|event2=20|event3=30|event4=40,table;sub2;;;event1=10|event2=20|event3=30|event4=40,table;sub3;;;event1=10|event2=20|event3=30|event4=40"; s.events = "event1,event2,event3,event4";

 

Events 1-4 need to be configured to be "numeric" instead of counter (even if you only ever passing 1, if you don't make it numeric, then the correlations get mucked up).

 

You don't need classifications in this scenario... all your "table" category products will have an isolated metric per product, and you can build out a table in Adobe like so:

 

    Event 1 Event 2 Event 3 Event 4
Category   30 60 90 120
table   30 60 90 120
  Products 30 60 90 120
  Sub1 10 20 30 40
  Sub2 10 20 30 40
  Sub3 10 20 30 40

 

DineshRkumar
Level 3
September 25, 2025

Thank you soo much for neat & clear explanation... 

Jennifer_Dungan
Community Advisor and Adobe Champion
Community Advisor and Adobe Champion
September 25, 2025

You're welcome. I hope that one of these solutions will work for you.