Business categoryCertified by Stitch

Expected Shopify data

Here’s a sample of the raw Shopify data that Stitch will replicate to your analytics warehouse:

Checkouts

This table contains information about abandoned checkouts. Abandoned checkouts are defined as checkouts where the customer has entered their billing and shipping information, but not completed the ordering process.

Table name:checkouts

Customers

This table contains information about customer accounts.

Table name:customers

Order

This table contains information about completed customer orders.

Table name:order

Product

This table contains information about products.

Table name:product

Refunds

This table contains information about refunds.

Table name:refunds

Transactions

This table contains information about transactions. In Shopify, a transaction is created for every order that results in an exchange of money - an authorization, a sale, a capture, a void, and a refund.

Table name:transactions

Metafields

this table contains information about metafields

Table name:metafields

View all tables

Learn more about syncing Shopify data

Documentation

Detailed documentation on how to start syncing Shopify data.

Shopify Documentation

Manual Instructions

How to extract data from Shopify and load it to Delta Lake on Databricks manually.

Shopify and load it to Delta Lake on Databricks manually.

Divider

Jumpstart your Shopify analytics with reusable blocks

dbt packages can speed up your work

Once you replicate your Shopify data with Stitch, you can use it in many ways. For example, you can use the data modeling and transformation tool dbt to prepare data for reporting, analytics, or machine learning applications.

Dbt has prebuilt packages for many Stitch data sources, including Shopify. Here’s a look at code for modeling Shopify data. This particular block of code prepares your Shopify order data for analysis.

View the source on GitHub →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 {% set order_seq_number = "row_number() over (partition by customer_id order by created_at)" %} with orders as ( select * from {{ref('shopify_orders')}} ) select *, {{ order_seq_number }} as order_seq_number, case when {{ order_seq_number }} = 1 then 'new' else 'repeat' end as new_vs_repeat, case when cancelled_at is not null then true else false end as cancelled from orders

... or use Looker blocks with your Shopify data

Looker developed a block for Shopify data provisioned by Stitch. This block includes prebuilt code to create dashboards and models that can help uncover insights from your Shopify data.

The Shopify Looker Block helps you track orders and revenue across channels and regions, identify top-performing products and categories, and monitor customer purchasing trends. The LookML code shown here produces an overview dashboard that provides high-level metrics and sales trends over time.

View the source on GitHub →
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 - dashboard: ecommerce_overview title: eCommerce Overview layout: newspaper elements: - name: Map - Total Orders title: Map - Total Orders model: shopify explore: orders type: looker_map fields: - orders.shipping_location - orders.total_order_revenue sorts: - orders.shipping_location limit: 500 column_limit: 50 query_timezone: America/New_York map_plot_mode: points heatmap_gridlines: false heatmap_gridlines_empty: false heatmap_opacity: 0.5 show_region_field: true draw_map_labels_above_data: true map_tile_provider: positron map_position: custom map_scale_indicator: imperial map_pannable: true map_zoomable: true map_marker_type: circle map_marker_icon_name: default map_marker_radius_mode: proportional_value map_marker_units: pixels map_marker_proportional_scale_type: log map_marker_color_mode: fixed show_view_names: false show_legend: true quantize_map_value_colors: false reverse_map_value_colors: false stacking: '' show_value_labels: false label_density: 25 legend_position: center x_axis_gridlines: false y_axis_gridlines: true limit_displayed_rows: false y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default y_axis_tick_density_custom: 5 show_x_axis_label: true show_x_axis_ticks: true x_axis_scale: auto y_axis_scale_mode: linear ordering: none show_null_labels: false show_totals_labels: false show_silhouette: false totals_color: "#808080" series_types: {} map_marker_color: - "#5F8D3D" - "#87877B" - "#0D77D1" - "#57BEBE" - "#7F7977" - "#B2A898" - "#494C52" map_latitude: -35.66172455173687 map_longitude: 39.39538478851319 map_zoom: 2 map_marker_radius_max: 8 row: 0 col: 10 width: 14 height: 10 - name: Total Orders Trend YoY title: Total Orders Trend YoY model: shopify explore: orders type: looker_line fields: - orders.created_month_num - orders.created_year - orders.total_order_revenue pivots: - orders.created_year filters: orders.created_year: 2 years orders.is_before_mtd: 'Yes' products.product_type: "-NULL,-EMPTY" sorts: - orders.created_year 0 - orders.created_month_num limit: 500 column_limit: 50 query_timezone: America/New_York stacking: '' show_value_labels: true label_density: 25 legend_position: center x_axis_gridlines: false y_axis_gridlines: true show_view_names: true limit_displayed_rows: false y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default y_axis_tick_density_custom: 5 show_x_axis_label: false show_x_axis_ticks: true x_axis_scale: auto y_axis_scale_mode: linear show_null_points: false point_style: circle_outline interpolation: monotone show_totals_labels: false show_silhouette: false totals_color: "#808080" ordering: none show_null_labels: false series_types: 2016 - orders.total_order: area focus_on_hover: false colors: - 'palette: Mixed Dark' series_colors: 2016 - orders.total_order: "#3e4549" 2017 - orders.total_order: "#5F8D3D" y_axes: - label: '' maxValue: minValue: orientation: left showLabels: false showValues: true tickDensity: default tickDensityCustom: 5 type: linear unpinAxis: false valueFormat: series: - id: '2016' name: '2016' - id: '2017' name: '2017' row: 17 col: 0 width: 14 height: 9 - name: Top 10 Products title: Top 10 Products model: shopify explore: orders type: table fields: - products.product_image - products.product_type - products.title - products.vendor - orders.created_month pivots: - orders.created_month fill_fields: - orders.created_month sorts: - orders.created_month - products.product_image limit: 100 column_limit: 50 show_view_names: false show_row_numbers: true truncate_column_names: true hide_totals: false hide_row_totals: false table_theme: gray limit_displayed_rows: true enable_conditional_formatting: true conditional_formatting_ignored_fields: [] conditional_formatting_include_totals: false conditional_formatting_include_nulls: false limit_displayed_rows_values: show_hide: show first_last: first num_rows: '10' conditional_formatting: - type: low to high value: background_color: font_color: palette: name: Custom colors: - "#ffffff" - "#e9f4de" - "#b2f4d5" bold: false italic: false strikethrough: false series_labels: {} row: 17 col: 14 width: 10 height: 19 - name: Orders MoM title: Orders MoM model: shopify explore: orders type: single_value fields: - orders.created_month - orders.total_order_revenue fill_fields: - orders.created_month filters: orders.confirmed: 'Yes' orders.is_before_mtd: 'Yes' sorts: - orders.created_month desc limit: 500 column_limit: 50 dynamic_fields: - table_calculation: previous_months label: Previous Months expression: "${orders.total_order_revenue}/offset(${orders.total_order_revenue},1)-1" value_format: value_format_name: percent_1 _kind_hint: measure _type_hint: number custom_color_enabled: false custom_color: forestgreen show_single_value_title: false show_comparison: true comparison_type: change comparison_reverse_colors: false show_comparison_label: true stacking: '' show_value_labels: false label_density: 25 legend_position: center x_axis_gridlines: false y_axis_gridlines: true show_view_names: true limit_displayed_rows: false y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default y_axis_tick_density_custom: 5 show_x_axis_label: true show_x_axis_ticks: true x_axis_scale: auto y_axis_scale_mode: linear ordering: none show_null_labels: false show_totals_labels: false show_silhouette: false totals_color: "#808080" series_types: {} row: 7 col: 0 width: 10 height: 3 - name: Last 100 Orders title: Last 100 Orders model: shopify explore: orders type: table fields: - orders.shipping_first_name - orders.shipping_last_name - orders.order_number - orders.shipping_city - orders.shipping_country - orders.total_price_usd - orders.total_weight - orders.total_order_revenue - orders.created_date - orders__line_items.name - products.product_image - customers.total_spent_per_customer sorts: - orders.created_date desc limit: 100 column_limit: 50 show_view_names: false show_row_numbers: true truncate_column_names: true hide_totals: false hide_row_totals: false table_theme: gray limit_displayed_rows: false enable_conditional_formatting: false conditional_formatting_ignored_fields: [] conditional_formatting_include_totals: false conditional_formatting_include_nulls: false stacking: '' show_value_labels: false label_density: 25 legend_position: center x_axis_gridlines: false y_axis_gridlines: true y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default y_axis_tick_density_custom: 5 show_x_axis_label: true show_x_axis_ticks: true x_axis_scale: auto y_axis_scale_mode: linear ordering: none show_null_labels: false show_totals_labels: false show_silhouette: false totals_color: "#808080" show_null_points: true point_style: circle map_plot_mode: points heatmap_gridlines: false heatmap_gridlines_empty: false heatmap_opacity: 0.5 show_region_field: true draw_map_labels_above_data: true map_tile_provider: positron map_position: fit_data map_scale_indicator: 'off' map_pannable: true map_zoomable: true map_marker_type: circle map_marker_icon_name: default map_marker_radius_mode: proportional_value map_marker_units: meters map_marker_proportional_scale_type: linear map_marker_color_mode: fixed show_legend: true quantize_map_value_colors: false reverse_map_value_colors: false series_types: {} row: 36 col: 0 width: 24 height: 34 - name: Top 20 Customers of all time title: Top 20 Customers of all time model: shopify explore: orders type: looker_bar fields: - customers.total_spent - customers.first_name sorts: - customers.total_spent desc limit: 20 column_limit: 50 query_timezone: America/New_York stacking: '' show_value_labels: true label_density: 25 legend_position: center x_axis_gridlines: true y_axis_gridlines: false show_view_names: true limit_displayed_rows: false y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default y_axis_tick_density_custom: 5 show_x_axis_label: false show_x_axis_ticks: true x_axis_scale: auto y_axis_scale_mode: linear ordering: none show_null_labels: false show_totals_labels: false show_silhouette: false totals_color: "#808080" series_types: {} y_axes: - label: '' maxValue: minValue: orientation: bottom showLabels: false showValues: false tickDensity: default tickDensityCustom: 5 type: linear unpinAxis: false valueFormat: series: - id: customers.total_spent name: Customers Total Spent x_axis_datetime_tick_count: series_colors: customers.total_spent: "#5F8D3D" row: 26 col: 0 width: 14 height: 10 - name: Average Spent title: Average Spent model: shopify explore: orders type: single_value fields: - orders.created_month - customers.total_spent fill_fields: - orders.created_month sorts: - orders.created_month desc limit: 500 column_limit: 50 query_timezone: America/New_York custom_color_enabled: false custom_color: forestgreen show_single_value_title: true show_comparison: false comparison_type: value comparison_reverse_colors: false show_comparison_label: true stacking: '' show_value_labels: false label_density: 25 legend_position: center x_axis_gridlines: false y_axis_gridlines: true show_view_names: true limit_displayed_rows: false y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default y_axis_tick_density_custom: 5 show_x_axis_label: true show_x_axis_ticks: true x_axis_scale: auto y_axis_scale_mode: linear ordering: none show_null_labels: false show_totals_labels: false show_silhouette: false totals_color: "#808080" series_types: {} row: 4 col: 0 width: 10 height: 3 - name: Trend Sales by Product Category title: Trend Sales by Product Category model: shopify explore: orders type: looker_area fields: - products.product_type - orders.created_month - orders.total_order_revenue pivots: - products.product_type filters: orders.cancelled_flag: '' orders.is_before_mtd: 'Yes' products.product_type: "-NULL,-EMPTY" sorts: - products.product_type 0 - orders.created_month limit: 500 column_limit: 50 query_timezone: America/New_York stacking: normal show_value_labels: false label_density: 25 legend_position: center x_axis_gridlines: false y_axis_gridlines: true show_view_names: true limit_displayed_rows: false y_axis_combined: true show_y_axis_labels: true show_y_axis_ticks: true y_axis_tick_density: default y_axis_tick_density_custom: 5 show_x_axis_label: false show_x_axis_ticks: true x_axis_scale: auto y_axis_scale_mode: linear show_null_points: false point_style: circle_outline interpolation: monotone show_totals_labels: false show_silhouette: false totals_color: "#808080" ordering: none show_null_labels: false series_types: {} focus_on_hover: false colors: - 'palette: Santa Cruz' series_colors: Inkbox Tattoo - orders.total_order: "#5F8D3D" InkBottle - orders.total_order: "#424449" Custom Tattoo - orders.total_order: "#ff1214" y_axes: - label: '' maxValue: minValue: orientation: left showLabels: false showValues: true tickDensity: default tickDensityCustom: 5 type: linear unpinAxis: false valueFormat: series: - id: '2016' name: '2016' - id: '2017' name: '2017' row: 10 col: 0 width: 24 height: 7 - name: Logo type: text title_text: <img src="https://upload.wikimedia.org/wikipedia/commons/e/e1/Shopify_Logo.png" width=100% height=100%> subtitle_text: '' body_text: '' row: 0 col: 0 width: 10 height: 4

Start replicating your Shopify data

Select your integrations, choose your warehouse, and enjoy Stitch free for 14 days.

Set up in minutesUnlimited data volume during trial

Simplify your Delta Lake on Databricks migration

When it comes to replicating your data to Delta Lake on Databricks, conventional ETL is no longer the only game in town.

Writing ETL code requires big investments of time, money, and expertise that might otherwise be used for innovation. Most importantly, newer approaches to data ingestion deliver faster implementation than traditional ETL, so you can produce data analytics and business intelligence more quickly.

This is where Stitch can help.

Divider

All your data, where you need it

Give your analysts, data scientists, and other team members the freedom to use the analytics tools of their choice.

See all analysis tools

Analysis Tools Asset
Stitch's interface is sleek and efficient. We only know it's running when it sends us alerts; otherwise, it does its job without bother.

Amaury Dumoulin

Data Lead, Qonto

Divider

Why our customers choose Stitch

Stitch is a simple, powerful ETL service built for developers. Stitch connects to your first-party data sources – from databases like MongoDB and MySQL, to SaaS tools like Salesforce and Zendesk – and replicates that data to your warehouse. With Stitch, developers can provision data for their internal users in minutes, not weeks.

Explore all of Stitch's features
IconSimple setup
Start replicating data in minutes, and never worry about ETL maintenance.
IconOwn your own data infrastructure
Stitch replicates to your warehouse, meaning you’re always in control.
IconMature replication engine
Accurate data from any structure, all the time.
Explore all of Stitch's features

Connect to your ecosystem of data sources

Stitch integrates with leading databases and SaaS products. No API maintenance, ever, while you maintain full control over replication behavior.