thank you for coming to reporting in
Drupal commerce hi I'm Matt claman so my
name is Mack lawmen I am a senior Drupal
consultant at commerce guys and it reset
them theater so I can't even look at my
computer I am a Drupal commerce Co
maintainer of the to dot x branch and I
guess what IX technically I'm the author
of the Drupal 8 development cookbook
which had the second edition released in
Vienna time I'm also the author of
contraband calm which takes people dot
org issue queues and turns in the Kanban
Boris you can action to rock what issues
are working on and the creator of the
PHP start plug-in that lets you run the
run test scripts inside phpstorm because
everybody should be running tests and
helping run tests when they contribute
to to the court so this this
presentation is on reporting a vehicle
commerce and why like we know about
reporting and data but why is reporting
important well the main thing is a
merchants want to know what their
merchants want to know what what
products are selling right the whole
point of signing online is the selfing
to make money you want to know it's
actually selling so you can deprecated
both products and brand new ones
merchants want to know who they are
selling to right who is buying your
products where the demographics and what
if you bring a new product online will
imagine that you're selling to merchants
I also want to know what marketing
campaigns are performing people don't
just like buy stuff does they stumbled
upon it we live in capitalism you make
people want things they didn't know they
needed so you market that you need to
make sure your marketing campaigns are
doing otherwise you waste money and you
don't survive and your business goes out
of business so that's why reports pretty
important it's also important is they
need to make data-driven business
decisions right we have these products
what if one's not selling we need to
take that product out of the line bring
a new product what that new product
isn't something like we think what if it
were just
demographics what if our markets wrong
what if we're doing an ad campaign it is
performing long you don't know these
things unless you have some kind of
reporting in place to make these
decisions so that way your business
excel is so in line with this that comes
in the whole like insights and
intelligence merchants need raw data
that tells them how their site is
performing know just what is my base
revenue one of my page views things like
that
this helps them draw insights to make
business decisions and there's reporting
tools that give you that raw data and
then turn that into insights and help
you make decisions based off of it right
as you can see like my blog had this
main page views with do you know if that
blog view cause somebody to go to a
product that caused a conversion rate or
that you had traffic coming from
Facebook but did they buy a products
just raw days and give you that and
there's tools that help to collect that
raw data then turn it into something
insightful so you can make more money
that's the end goal with selling online
so I'm gonna talk about reporting
specifically in duple Congress is kind
of pre allude to likewise important and
now that troupe of Commerce - has been
yeah we just we're gonna release 2.5
either today or tomorrow the ecosystem
has really matured snow you can work
focus on things that help you want
deliver stronger ecommerce systems to
your clients or if you are a store owner
have a better system that so we have
three options available commerce reports
it's my little baby that was my
introduction to the triple community
there's google analytics and then
there's a new option that power CS is
presenting called e-commerce this course
and step through each of these the good
the bad and the why there is no hugly
here so commerce reports so cart reports
is a native reporting tool built in
drupal and drupal commerce it kind of
follows that drupal way install module
and it just does the things with your
own data and it's right there
it uses raw values and crucian the
database give you tables and charts it's
currently
status it's near beta I was printed on
it in February when I was at Florida
duplicate to get it into an alpha issue
status they spent some time on the beta
that's if you like basic record entries
it has no user interface right now
because there's just big problems a
handle of data so I'm the maintainer and
I also have a shout out of here to Chris
Rock well it was not here I don't mean
he's in the West Coast I had an
architecture plan he wanted attacted
this for a client and I spin up
randomness and Drupal slack and he
turned that into patches that unblocked
the project so I know contribution is
always great like that and that's why we
don't haven't hate that expression so
what's the plus side of current reports
it's free on-site reporting that uses
your existing database there's no extra
cost
technically you don't need to pay for a
third-party service you don't need to
pay for module you'll need a paper
eyebrows but you kind of pay it and the
unknowns so it's going to impact your
database storage which means that we're
adding more records to your database
that should be used for your products
and your orders
so you might have to buy more database
storage because your data warehouse
smell and also it affects your impact
your performance you've got that store
manager that's like I want to see my
revenue reports every hour to refresh
the net page in that same database
that's reading orders it's supposed to
be serving your clients to take their
money well a slow database means slower
checkout which means a higher
abandonment of checkout so there's some
trade-offs there that can be mitigated
and worked on but that is one of the
gotchas that could incur
we need if they're doing that you might
need a bigger database server big
improvement with Commerce reports and
this is in a TEDx specifically this is
kind of like a learning lesson after I
became maintainer of the for 10x branch
if it stores information and
denormalized fashion so if people that
not that don't know about like normalize
and denormalized data drupal's all a
date model
and normalize data things like each
thing has its own table and
relationships that's why we have multi
value fields so easily that's great but
we have to query this like send it to an
ERP nut back-end or an ERP needs to
actually scrape your database or you
need to do reports or somebody trying to
work with views in this you need to make
like five different relationships and
then tell them how to configure it is
not easy so the new architecture is it
takes an order once it's been placed and
puts into a more understandable format
which makes it easier for reporting also
sending off to another back-end system
that might do things with that data you
can query of course using familiar api's
so reports are saved as a content entity
so if you're a developer you need to
write a custom report you can use
something familiar that you would use to
like load notes to load something else
you just use the aggregate query that
the core entity API provides it also
provides concrete financial reporting so
a lot of people use Commerce reports for
tax reporting at the end of the year
they query their orders they fear how
much tax remittances there is and then
they use that for their financial
reporting and it's great because it's
off your raw data you can query your raw
data generated report have something
there so that's one good part about it
and then there's a quick view of the UI
at the moment it's just tables you know
there's no fancy dashboard and it's just
like water tools it's not like product
based ones yet it has a pluggable
architecture so those things will be
coming down the pipe some negatives it's
like I said use the same database as
your store I mean I guess you could
configure it not to to have his own
database a traceless entities to that's
above my knowledge that I love doing to
created a report requires a developer
and code which was kind of the actual
truth back in Drupal 7 but people had
views and you could do it without code
and views but you still needed to be a
developer to write reports so Drupal 8 I
don't plan
by supporting views it will work but
really you should be writing code
through a lot of these things user
interfaces are hard so instead of
focusing on user interface which they
provide the data model and figure how to
represent it especially we come up with
a better decoupled system like if we act
or react admin comes in the core we can
like build a really cool dashboard using
javascript instead of two personal
drupal's render system you can do over
better value that way to be of use
wizard after my support request like how
do I put this relationship and make an
aggregate query which last time I used
views which was like 8.2 I have voided
views in the rupal and that's because
aggregate queries didn't work and the
query API was fine so this is the source
that kind of adapted my knowledge but
I'll do my best to support that with
counterpoise and one of big issues and
this is highlighted about who you're
selling to you and what they're doing
it's server side only so you don't know
anything about the customer except for
what they tell you uncheck out so if
they come and they add to the product in
the current you don't know who they are
until they enter check out and then they
they say I want to tell you more about
it so if they don't get there you know
you have abandoned her you don't know
where it came from why anything about
their story that brought them to the
site and may have caused them to leave
you can't make business decisions off
that you can see what products are
selling but you don't know why they are
you just know the fact that they exist
and they are being sold at this volume
so that's the transition at Google
Analytics which kind of touches on that
server side or you know the mitigation
the server side issue who here uses
Google Analytics on their website
returning yeah this is what everybody
does their power like 90% of the web
analytics out there and they have an
e-commerce plugin
make sense so commerce Google Analytics
as the econ according to the Google
edits module basically when events
happen if bubbles up information into
the page and has JavaScript send it up
it's as simple as that so you have the
Google Analytics module installed it
just sends extra data that should be out
there
since in that sense yes its advances in
client you have the basic dashboard in
here
give me some revenue recording various
things the current status that's in the
dev status like somebody got maintainer
access to the basic port and it sends
raw very minimal data its transaction
only it doesn't give you information
about Carter checkouts all those things
are supported it's just not there yet
there's no one plan last night checks
where you're seeking the game like
maintenance of it so we can start
flushing it up there's even though it
may not be like in our bike tour pocket
of things that we want to be flushed out
but we don't want somebody to need this
and then turn away from the platform
because it doesn't exist so we are going
to try to just get it to a workable
version it may not be like a full
feature implementation but you should be
able install it and get those basics
there because we want you to use Drupal
commerce and succeed and that's our job
is maintain errs whether it's not
whether it's in contribute or so the
plus size again free ish on google nexus
free that's probably why most if you
have it on your slates right you go to
google analytics to sign up and boom
they give you track and code plug it in
you start seeing who's on your site in
the real time data which is really cool
except you're giving all your data to
Google which they know they have privacy
policies and all that know why they want
to have their stuff everywhere in the
web is then they can track global
behavior some people like that some
people you know that's part of the
contract an Android phone I give all
myself to Google is a really cool free
stuff but that's one thing a lot of
people want to consider you also might
have to pay for enterprise which is the
Google Analytics 360 suite and I'll
cover on why you may need to pay for
that in a little bit another good part
is it allows clients like tracking
behavior and if you know how they got to
your site what they clicked on you know
their user story and their journey to
cart abandonment to just browsing the
site to converting that lets you build a
better buying experience because let's
say you find up your drop-off is at the
the review page like hi like people go
through the problem of giving you their
billing information or shipping
information they get to the review page
and then they drop like well what oh
well maybe because we don't have Ajax
showing the shipping method that are
they just shipping payment information
they only find that when they get to the
review process now Congress doesn't do
that out of the box the best I think
that's an example also they get to the
review process they see taxes or
shipping like finally calculated and
their sticker shock so they cancel
that's where client-side information is
key as you know where people stop in the
process of giving you money you can
configure your checkout steps so you can
give up a different labels and when it's
integrated it pushes the event so it's
like I'm on this checkout page here's
the label so it gives you that that
content flow just like if you're
browsing how they get to different
content on your site like I said it's
not implemented yet so that's why these
charts are really sad and boring but
hopefully a little bit we'll get this
fixed I can update the slides but yeah I
didn't just give in your cart behavior
you need to figure out why people aren't
give you money that's the whole point of
selling online is do you see it loading
it can let you do social and marketing
campaign conversion tracking so if you
hook in your UTM parameters which is a
virgin tracking mode marketing Honolulu
stands for it lets you know different
metadata about how they might have got
to the site you know if you have run an
ad campaign if I say CP CPC Google ba or
they might come from big pay-per-click
whatever the terms might properly be and
this lets you know where like I said
where people are dropping off where
they're coming from now for the
negatives it's like I said you're doing
your data to Google Google doesn't let
you get the raw data once you send that
there isn't a vault it's locked off all
you can do is view it is their dashboard
and maybe their API thank you might be
able to consume via the API and do
things with it to their rules unless you
pay for the Google Analytics 360 suite
which I heard you
he knows one is more expensive that
enterprise sales force because when you
have the Google Analytics 360 you can
actually get the raw data and do cool
things with it but you know I don't
think anybody here including myself has
a client that would be willing to pay
for something like that and if they do
well they have their source teams to
work with Google Analytics pretty well
here's the downside with client-side
tracking a lot of people don't like
Google Analytics some people don't like
JavaScript you know when you have people
that are very privacy oriented you know
marketers want to know information about
you some people don't like the scope
creep on that so they block tracking
that means you don't know anything about
those people
there's no analytics which means your
revenue is wrong right so if I have no
script enables I have 12 Google's like
Google's analytic blocker for Chrome
also my border data isn't being sucked
at Google Analytics well what now you've
got an incomplete sales dashboard what
good does that do you besides knowing
that maybe you have a reconciliation
process and you know that half of your
customers don't like the attracting
Google Analytics so it provides no
guarantee of conversions and Google
Analytics itself has no SLA service
level agreement on events being entered
into Google Analytics itself mate I
think there might be like a server-side
way to push data into Google Analytics
and that could be a way to mitigate it
but in the most common way that works
that doesn't exist so if you can get
little black holes in your data this is
no fun and I tried to do this myself I
have no idea to write custom reports in
Google Analytics so you still need that
expertise challenge
wait Congress reports right someone
needs to know the code you need to know
views to do something Google Analytics
you need a same thing I try to make some
customers pause by the noid a deployment
and I know there's people that make lots
of money consulting for Google Analytics
you do really cool things I was on a
project for a ski company they took the
sales data in Google Analytics weather
and found out that actually when it gets
ski season the highest selling places
were the southeast Southwest where it
was hot not when it got cold because
everybody were top needed to buy
supplies to go skiing in Colorado that's
where the insights and intelligence
comes into play and that's how Google
Linux helped them but they also paid
consultant to build that crazy graph so
there's always a catch when you get in
them you're gonna have to do some kind
of language possibly and then this isn't
only affect us here in the States but a
lot of our users are in here and they
came up the gdpr which I've done some
reading up on and I heard of them saying
basically it says you can call it
company play my name is Mack lawmen can
you query me and if they say yes they
have to purge your data or you can
request them to UM which is fun and this
is a problem that transcends Drupal
commerce itself not just Google
Analytics we have people working on this
who want to say people I'm in the
community luckily it has made a Drupal 7
fixed and there's a Drupal 8 one in the
works so Google Analytics requests
specific language in your privacy policy
who has done that who is update who has
been a privacy policy on their site said
that they're using Google Analytics and
copy the boilerplate text one I have it
on my site I don't do it I'm a bad
person I should update it in good faith
of people that visit my blog so that
they are aware of it but they're right
there one person out of the room
well that's we could say a second 5% of
the sample space here I told my vision
yeah so you know that's one thing and
that's where it comes into the great
area with Google Analytics and just the
modern age of data privacy right this is
a new this is becoming we're becoming
more conscious of this so with the GDP
our data privacy requirements are
changing I doubt it will happen here in
the states because marketers are
first-class citizen and regular citizens
aren't you
data makes money a year they're a little
bit different than what Google Analytics
has made they say that they're going to
respect this I don't know how it's going
to work that's right if you can't delete
data you in Google Analytics does that
mean the customers gonna call you and
then you have to go to Google Analytics
see if the data's there then tell Google
to delete it or what this is an unknown
right this is like it's kind of like the
D text but like we don't know what's
gonna happen in so the first big
explosion happens someone wants to fix
it so that's just one thing to keep in
mind
and another gotcha with the whole like
data privacy consciousness as I'm
calling it so those are the two
contributed module solutions and I've
tried to do my best to make sure they're
so the pros and cons both how the Box
can deliver a solution for you that need
customizations I know as I sit on the
support can I try to do my best to help
people succeed and when identified this
is kind of like a bottleneck where I say
we I mean the maintainer Brian Bowan and
I that reporting is one of those key
things that people need to have a
successful people commerce installation
and delivery to a client so there's a
product of you rolled up Kylene commerce
reports and that's the next step we're
going to talk about so we found this gap
where you always pace way to customize
something customize commerce your puts
customers Google Analytics this is great
if you have something that has a budget
because we know people that have used
commerce intercourse didn't build like a
hotel tracking system and I grabbed me
for hotel all this kind of stuff like I
said Google Analytics with temperatures
and regions but what if you have a
client that news reports and they're
gonna pick Shopify instead and pay more
a month for Shopify then maybe a
solution that gives them reports we have
this happen shop twice cheap
I don't blame until you start doing
high-volume and they hold you hopeful
Michael the knife to your back as they
pay us more money in a loser store so
I'm gonna talk about e-commerce reports
which is a new product that we're
releasing right now some private beta
that's the sample dashboard and what it
tends to do is be a plug
sales dashboard so you sign up you plug
in an API key say here you go
BAM and you know it's built by the
maintainers of Drupal commerce so it's
gonna tackle a lot of those edge cases
so that way it's you don't have we don't
want you to have to think about hard
problems in e-commerce specifically
Drupal commerce that's supposed to be
hard job so this is one way we're trying
to tackle this problem space besides
just giving you a module to install that
you might have to configure so a lot of
benefits this client side and server
side we identified that problem right
otherwise you have to have couch reports
and Google Analytics and reconcile them
on your own
we're trying to do that for you all
events are sent on the back end and
enriched with front and analytics like
page tracking so you can see the number
of conversions how many unique sessions
visited my site how many new sessions
converted you know so that way you don't
do that math some other things people
like AOL revenue per day for seven days
three months other box reporting with no
configuration of code secured exactly
how much time you stay within a bike so
with top products your conversion funnel
you know like I said the drop off effect
that I think we have that as book back
and in front of or sending the events
you know in fact my channel and the
example is here I'm a contract by
channel and I forgot to mention with
Google Analytics because that's a key
one that helps with this the Pinterest
versus Facebook paradigm Pinterest is
shown to be an excellent ecommerce
channel people buy stuff from Pinterest
Facebook people use for advertising
well are you spending 300 bucks a month
on Facebook to advertise products and
getting no conversions you're losing
money but Pinterest you just like hey I
guess the way that pins something and
you're making money off of it you're
losing money on Facebook by paying more
for the wrong marketing campaign
you can decide Facebook should be brand
awareness Pinterest I can advertise on
increase my conversions and Pinterest
give me how you make money with
advertising Facebook could be brand
awareness and it's cheaper to do brand
awareness marquee and on Facebook so
that's where the whole client-side
analytics is big and that's where we try
to help you out of the box how about you
porting again you know the table all you
can filter it stuff you come to expect
check out the funnel analysis eventually
this will be split up where you can see
what specific step of check out the
thumbs up right now it's kind of bundled
especially since double commerce two
other boxes two pages only
Drupal commerce 7 does have like billion
it has like four but most people can see
to so we just avoided it because it's
private beta so don't have like that big
yet but that is something we'll add the
traffic town reporting know the effects
the effectiveness of advertising
campaigns you know what if you decide to
give Twitter a try and have vert eyes on
Twitter and what if it works you know
this way it lets you know where they
came from revenue reports by a story so
this is really cool to eat this is our
our private beta customer has 72
franchises and Drupal commerce to has
store support like multi-market places
in different story
but in this example I went for you I
have a united states store Canada UK and
Mexico and I want to see their revenue
there you can actually filter our
reports by your store so you can see an
overall view of your company if you
drill down to a specific storage house
the us performing house Canada
performing the different revenue you
know here in the states you wouldn't
have a store per state really I think
you might but it may not happen this
edge case is great like in the European
market show they Hollis Frank's house UK
house Jeremy house it did markets and
work are identifiable there but that is
one thing you know as the maintainer to
Drupal commerce we make this aware I'm
Drupal commerce seven it would be one
store we're trying to figure out how you
could possibly say mine three Drupal
commerce seven installs or Drupal
commerce one installs should be in the
same account so you could see like a
filter store view there but we just
haven't had anybody request at and
stepping back to that request that point
yet since it is a software as a service
platform you get iterate you pay that
flat month is yet me we're doing like an
intro about ten bucks a month and get
those improvements over tonight versus
right and I quote yourself I've all been
five footer I am on here so the first
one shows tax reporting I change the
names from the actual data but they like
the other client has different tax
reports so this this isn't like
counterfeit or you go back and career
the raw data as weathers return what if
there's a can adjustment this is like a
snapshot of data but you could you know
I had a quitter analysis when you just
have to do at the ballpark pea look at
this say alright I pay this much money
okay write that check to the government
will do the full reconciliation at the
end of the year so for other those of us
have you have to do quarterly tax
payments or power it would be nice to
just quickly know yeah we got to write
this check into the year we paid more or
we get on a slight refund and then
promotional promotions you know tracking
coupon codes this is something that
could be promoted that can be provided
to buy promoted by a tour group of
Thomas itself effusive stomps or common
reports but by having this data we can
help do insights we can help merge it in
and help you see the bigger picture
[Music]
yeah there's a regional value zero so
that table it's populated by the tax
rate reported where it is whatever you
have so it's like in our case they have
food tax no food tax something else yeah
so it would show those different records
and this is one we're collecting this
data right now but we don't have it
exposed in like the UI so we are trying
to be proactive like we have we know all
these things we need to collect but
they're not necessary in the UI that
this is so it's a point of a dashboard
for Drupal commerce sites and it is
pitched as a software-as-a-service so
that way you don't have to turn a client
away from duple commerce because they're
missing a feature you know there's
plenty of clients that have like forty
thousand dollars to throw out a
reporting solution there are some people
that want that they want it to be
bespoke
then there's clients that do they just
want it to work or there's an agency
that just wants to offer it and then see
if the client later wants to do an order
robust reporting solution and as
Congress guys as the maintainer Drupal
commerce we want you to succeed as
agencies and this is a new product that
we want to offer alongside people
commerce that helps you do that no I
think like the starter ones like ten
bucks a month and then there will be
like incremental value or like
incremental changes to get more that
insights and data but it helps with the
awkwardest storage no it's not served in
your database which is a good thing we
actually had a big loss issue and I was
able to go into our bucket of data
download it pans to the Clinton they're
able to reconstruct it last 24 hours of
data that they had lost so like we might
even be twin-twin around with is it also
a data recovery solution because you're
offloading your date here your
information somewhere so if you do have
that lit of six hours and like shoot we
have to read we have to fulfill these
orders of that so that's
oh and you don't have to login to a
different site either you install our
module that sends data we actually add a
dashboard that has an iframe and it has
its own permission so you can give the
store manager like your client or your
store managers access they can clean it
and they get the dashboard rendered
inside Drupal will be an iframe no extra
login somewhere the login ups we're a
hope you like manage billing later
and all that but this week no one has to
leave your site your store open if you
have multiple stores you can then see a
drop-down that you change the store we
have a setup where like in the
franchisee example let's say one person
who owns three stores they get a drop
down the shows there are three stores if
you're an admin you see all the stores
right they own one store they don't see
the drop down at all there to see their
dashboard and there's a waiting like
aggregate your three stores in the one
view or individual you want to solve
that commerce as we try to solve the
hardest problems of selling online and
this is one of our ways to try to do
that for you so oh yeah a minute this is
a 30 minute um for questions so we're
gonna do a minute actually it's lunch so
I guess we could sit and ask a few
questions but if you're hungry don't and
just wait I will be here today and
tomorrow for the sprints so if you do
have general Google commerce such Drupal
commerce questions I'll be at the
Springs tomorrow and ten running sprints
mentorian answering questions or just
hug me down today and I love to talk
about this stuff so questions Wow
[Music]
so I went in it as fast as I could
because I didn't want to go over and
[Music]