Walmart Spark advertises strong earning potential for delivery drivers. But after gas, mileage depreciation, self-employment tax, and in-store wait time โ does Spark actually pay what it implies? Here's the honest math.
Spark drivers often handle larger grocery and general merchandise orders, which can mean higher tips โ but also longer wait times inside Walmart, longer drive distances to customers, and more vehicle wear per delivery. The gross earnings can look strong. The real rate depends heavily on how efficient your market is.
Key costs Spark never subtracts: Self-employment tax (15.3% of net), mileage depreciation (72.5ยข/mile in 2026), gas, phone/data, and unpaid in-store wait time. Together these typically reduce gross pay by 30-45%.
Spark tends to pay well when orders are large, your zone is dense, and wait times are short. It becomes unprofitable when you are driving long distances per order, wait times eat your hourly rate, or your vehicle is high-mileage and repair costs are accelerating.
The only way to know if Spark is worth it in your specific market is to run your real numbers โ your hours, your miles, your actual earnings โ and see what you actually keep per hour.
GigExit Pro logs every Spark shift, tracks mileage, and shows your true hourly rate trend so you always know if Spark is still worth your time.
See GigExit Pro โSelf-employment tax (15.3% of net income), mileage depreciation (72.5 cents per mile in 2026), gas, phone/data plan costs, and unpaid time spent waiting inside Walmart for orders to be prepared.
Typically 55-70% of gross earnings remain after accounting for all expenses, meaning drivers lose 30-45% of gross pay to business costs.
Spark differs significantly because orders involve larger hauls and substantially longer in-store wait times at Walmart, which changes the real hourly rate calculation compared to restaurant or grocery delivery apps.
Calculate your actual hourly rate by tracking gross earnings, subtracting all expenses (self-employment tax, mileage depreciation, gas, phone/data), and dividing by total hours including unpaid wait time in your specific zone.