How to Migrate from Madgicx to Calatrix in One Afternoon
You’re paying €200–300/month for Madgicx. You saw Calatrix at €100/month and thought: is the switch worth it?
Yes. But only if you do it carefully.
Madgicx and Calatrix both automate pausing, but they work differently. Madgicx handles complex nested rules. Calatrix handles profit-based pausing on Shopify data.
Here’s exactly how to migrate in one afternoon (4 hours of actual work spread over 2 weeks of parallel testing).
The Three Big Differences
1. Data Source
Madgicx: Runs on Meta data (ROAS, CPA, frequency). Doesn’t see Shopify profit.
Calatrix: Runs on Shopify profit data (COGS-integrated). Sees what Meta misses.
Migration impact: If you use CPA-based rules in Madgicx, Calatrix will behave differently because it’s looking at profit, not CPA.
2. Rule Complexity
Madgicx: Supports nested conditions.
IF (ROAS < 2.0x AND frequency > 4) OR (CPA > €30 AND audience is cold)
THEN pause
Calatrix: Supports simpler conditions.
IF profit margin < 18% THEN pause
Migration impact: If you rely on complex nested logic, Calatrix feels limited. But for most stores, simple profit rules are more effective.
3. Timing
Madgicx: Checks daily (or hourly at higher tiers).
Calatrix: Checks every 15 minutes.
Migration impact: Calatrix is faster. You’ll catch budget leaks sooner.
The 4-Hour Migration Plan
Phase 1: Audit (30 minutes)
Step 1: Log into Madgicx.
Step 2: Go to Rules. Screenshot or document every active rule.
For each rule, note:
- Rule name
- Trigger (what condition causes pause?)
- Threshold (what value triggers it?)
- Action (pause? adjust budget? pause audience?)
- Frequency (how often does it check?)
Example:
| Rule Name | Trigger | Threshold | Action | Frequency |
|---|---|---|---|---|
| Break-even pausing | ROAS | < 1.8x | Pause ad set | Daily |
| High frequency | Frequency | > 5 | Pause audience | Daily |
| Learning phase guard | Spend | > €200 | Pause if 0 conversions | Hourly |
| CPA overspend | CPA | > €45 | Scale down budget | Daily |
Step 3: Count your rules. If you have >10 active rules, migration takes longer (10 rules = 1 hour rebuild, not 30 min).
Phase 2: Rebuild (30 minutes to 2 hours)
In Calatrix:
Create a new rule for each Madgicx rule you documented.
Conversion guide:
| Madgicx Rule Type | Calatrix Equivalent | Setup Time |
|---|---|---|
| ROAS < X | Kill rule with break-even threshold | 5 min |
| CPA > X | Profit margin rule (calculate break-even) | 5 min |
| Frequency > X | Frequency-based pausing | 5 min |
| Zero conversions in Y days | Zero-purchase guard | 5 min |
| Learning phase spend > X | Learning phase guard | 5 min |
| CTR < X | Not directly supported (use profit rule instead) | 10 min |
| Nested conditions | Simplify to profit-based rule | 15 min |
Real example: Convert a complex Madgicx rule to Calatrix
Madgicx rule:
IF (ROAS < 2.0x AND spend > €100) OR (CPA > €40) THEN pause ad set
Calatrix rule (simplified):
IF profit margin < 15% THEN pause
Why simpler? Because profit margin is the real metric. ROAS + CPA are proxies. If margin is positive, keep running. If margin is negative, pause.
Step 1: In Calatrix, go to Kill Rules.
Step 2: Click “Create Rule.”
Step 3: Name it (e.g., “Break-even pausing”).
Step 4: Set conditions:
- Data source: Shopify profit data
- Metric: Profit margin
- Operator: Is less than
- Threshold: 18% (or your target margin)
Step 5: Set action: Pause ad set.
Step 6: Set evaluation window: Last 7 days (or match Madgicx window).
Step 7: Save.
Repeat for each Madgicx rule. Takes 30 min for 5–7 rules.
Phase 3: Test Parallel (7 days minimum)
Critical: Don’t kill Madgicx yet.
Week 1 (Days 1–7):
- Keep Madgicx active
- Enable Calatrix rules
- Let both run simultaneously
- Compare pause logs daily
In Madgicx: View Pause Log (Rules > Activity)
In Calatrix: View Kill Log (Dashboard > Recent pauses)
What to compare:
| Metric | Madgicx | Calatrix | Difference |
|---|---|---|---|
| Pauses today | 4 | 3 | −1 (acceptable) |
| Ad sets killed | 8 | 9 | +1 (acceptable) |
| Pause accuracy | 90% correct pauses | 88% correct pauses | 2 pp difference (acceptable) |
Acceptable range: 80–95% agreement. If agreement is <80%, adjust Calatrix thresholds and test 3 more days.
Common mismatches:
-
Timing difference: Calatrix pauses an ad set 4 hours before Madgicx. Normal (Calatrix checks every 15 min).
-
Threshold sensitivity: Calatrix pauses at €40 CPA; Madgicx pauses at €45 CPA. Adjust Calatrix threshold to €45 and re-test.
-
Data lag: Madgicx sees CPA from yesterday; Calatrix sees profit from this morning. Normal (1 day difference).
Red flags (reasons to extend testing):
- Calatrix pauses campaigns that are still profitable
- Calatrix misses campaigns that Madgicx catches
- Pauses are off by >20% daily volume
If red flags: adjust thresholds, test 3 more days.
Phase 4: Switch (5 minutes)
Day 8 (after 7 days of parallel testing):
If agreement is 80%+, you’re ready.
Step 1: In Madgicx, disable all rules (or leave them as-is, no active pausing).
Step 2: In Calatrix, ensure all rules are active.
Step 3: Monitor for 24 hours. Any surprises? If not, proceed.
Step 4: Cancel Madgicx subscription.
Step 5: In Calatrix, keep all rules running (they’re now your only automation).
Done. You migrated.
Real Migration Example
Store: €30k/month spend, €100k/month revenue
Madgicx rules (5 active):
- Break-even ROAS: ROAS < 2.0x → pause
- High frequency: Frequency > 4 → pause audience
- CPA overspend: CPA > €40 → scale down
- Learning phase: Spend > €150, 0 conversions → pause
- Creative test: CTR < 0.4% → pause
Rebuild in Calatrix (5 new rules):
- Break-even: Profit margin < 18% → pause ✓ (profit-based equivalent)
- Frequency: Frequency > 4 → pause audience ✓ (same)
- CPA overspend: Profit margin < 15% → scale down ✓ (profit-based equivalent)
- Learning phase: Spend > €150, 0 conversions → pause ✓ (same)
- Creative test: Not supported in Calatrix (use profit rule instead: margin < 15%)
Setup time: 35 minutes (one complex rule took longer)
Testing (7 days):
| Day | Madgicx pauses | Calatrix pauses | Match % | Notes |
|---|---|---|---|---|
| 1 | 2 | 2 | 100% | Perfect alignment |
| 2 | 3 | 4 | 75% | Calatrix caught one earlier (CTR issue) |
| 3 | 1 | 1 | 100% | Both caught same break-even |
| 4 | 4 | 3 | 75% | Timing lag (Calatrix faster by 2h) |
| 5 | 2 | 2 | 100% | Aligned again |
| 6 | 3 | 3 | 100% | Consistent |
| 7 | 2 | 2 | 100% | Final day perfect |
Average match: 92%. Switch approved.
Cost impact:
- Madgicx: €250/month
- Calatrix: €120/month
- Monthly savings: €130
- Annual savings: €1,560
Gotchas During Migration
Gotcha 1: ROAS vs Profit Margin
Madgicx rule: “Pause if ROAS < 1.8x”
Calatrix rule: “Pause if profit margin < 18%”
These are NOT equivalent. ROAS ignores COGS and fees.
Example:
- Product: €100 AOV
- COGS: 60% (€60)
- Platform fees: 5% (€5)
- Ad spend: €30
- Revenue: €100
- Profit: €100 − €60 − €5 − €30 = €5 (5% margin)
Madgicx sees: ROAS = €100 / €30 = 3.3x (looks good, doesn’t pause)
Calatrix sees: Margin = €5 / €100 = 5% (below 18% threshold, pauses)
Calatrix is right. Madgicx misses the low margin.
Fix: When rebuilding, convert Madgicx ROAS rules to profit margin rules, not 1:1 ROAS equivalents.
Gotcha 2: Evaluation Window
Madgicx: “Pause if ROAS < 2.0x in last 7 days”
Calatrix: Default window is last 3 days.
If you don’t match the window, pause timing will differ.
Fix: In Calatrix rule settings, set evaluation window to “last 7 days” (or match Madgicx window).
Gotcha 3: Time Zone
Madgicx: Uses your account’s time zone.
Calatrix: Uses store’s time zone (from Shopify).
If they differ, “last 7 days” means different things.
Fix: Verify Shopify store time zone matches your Madgicx account time zone. If not, adjust Calatrix evaluation window accordingly.
Troubleshooting: When to Extend Testing
Scenario A: Calatrix pauses too aggressively (more pauses than Madgicx)
Reason: Profit margin threshold is lower than Madgicx’s ROAS threshold.
Fix: Raise profit margin threshold by 5 pp (e.g., 18% → 23%). Re-test 3 days.
Scenario B: Calatrix pauses too conservatively (fewer pauses than Madgicx)
Reason: Profit margin threshold is higher than ROAS equivalent.
Fix: Lower profit margin threshold by 5 pp (e.g., 18% → 13%). Re-test 3 days.
Scenario C: Pauses are aligned, but you’re losing money
Reason: Neither tool is calibrated for your business. Thresholds are wrong.
Fix: Don’t migrate yet. Audit your break-even ROAS in our calculator. Set Calatrix threshold based on real break-even, not Madgicx’s guesses.
The Bottom Line
Migrating from Madgicx to Calatrix is not plug-and-play. But it’s not hard either.
4 hours of work, 2 weeks of testing, €1,500+/year in savings.
The key: don’t just copy Madgicx rules into Calatrix. Rebuild them to use Shopify profit data. Simpler rules, more accurate pausing.
Start migrating today — 14-day free trial, no credit card. Run Calatrix parallel with Madgicx for a week. See if the rules match. If yes, cancel Madgicx.
Your margin will thank you.
Ready to stop losing money on Meta ads?
Set up automated kill rules and let Calatrix protect your ad spend 24/7. Pair this with Shopify's real order data and COGS tracking to optimize for actual profit, not vanity metrics.
Start 14-day free trial